Как запросить «In clause» при сборе коллекции в Linq

1

У меня есть список идентификаторов, и я хочу запустить запрос "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, а также что мне делать какие-либо предложения.

Теги:
linq
entity

1 ответ

1

Попробуй это:

// 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));

Ещё вопросы

Сообщество Overcoder
Наверх
Меню