2012-02-06 2 views
0

У меня есть таблица:Выбрать присоединился таблицы в EF

Shop (ShopID, ShopName) 

и стол

Campaign (CampaignID, CampaignName) 

, которые имеют многие ко многим отношений. Entity Framework создает таблицу соединения CampaignShop с (ShopID, CampaignID) для меня. Однако таблица не отображается EF, и я не могу использовать ее в операторах LINQ.

Как я могу запросить все магазины с данными campaignID?

Если я пытаюсь

dbContext.MerchantShop 
    .Where(c => c.Campaign.CampaignID == campaignID) 

Campaign.CampaignID не работает.

+0

Какая ошибка возникает у вас? Или вы просто не видите никаких результатов? – Yuck

+0

Звучит странно. Потому что, когда это чисто пара-стол (для отношений «многие-ко-многим»), он должен быть преобразован в свойства навигации для Shop (.Campaigns), а также для кампании (.Shops). Включили ли вы внешние ключи в генерации модели Entity? –

+0

Вам нужно dbContext.MerchantShop.Include («Кампания»). Где (c => c.Campaign.CampaignID == campaignID) – 0x4f3759df

ответ

0

Используйте метод расширения Any.

dbContext.MerchantShop 
    .Where(s => s.Campaign.Any(c => c.CampaignID == campaignID)); 
Смежные вопросы