У меня есть список идентификаторов, и я хочу запустить запрос "In Clause" для вложенной коллекции. Как бы я это сделал. Более подробно у меня есть 2 таблицы
Таблица: Таблица: B
Эти обе таблицы имеют соответствующие первичные ключи, они используют другую "таблицу C" для хранения своих данных сопоставления. Таблица: C Таблица C содержит два столбца, которые являются первичными ключами соответствующей таблицы A и таблицы B. Теперь у меня есть идентификаторы из таблицы A и получаются все записи из B, которые связаны с A, используя таблицу C. Я хочу запустить "В запросе" точно так же, как Sql в Linq, но не может запускать коллекции из таблицы C.
Я знаю, что в linq есть предложение WhereIn. но его не показывается в его списке.
Мой запрос - вот что.
Context.B.Where(item=>item.C.WhereIn(item1=>Item1.AID==aid));
Я хочу что-то вроде этого запроса, но с 'C', чтобы он не показывал предложение where, а также что мне делать какие-либо предложения.
Попробуй это:
// Select the ids of the table B that are associated with ids in aIds.
var bIds = Context.C.Where(x=>aIds.Contains(x.aId)).Select(x=>x.bId);
// Get the record of table B, which their ids are in bIds
var result = Context.B.Where(x=>bIds.Contains(x.Id));