【发布时间】:2012-02-06 14:42:39
【问题描述】:
我有一张桌子:
Shop (ShopID, ShopName)
还有一张桌子
Campaign (CampaignID, CampaignName)
具有多对多关系。实体框架为我创建了一个带有(ShopID, CampaignID) 的连接表CampaignShop。但是该表没有被 EF 公开,我不能在 LINQ 语句中使用它。
如何查询给定campaignID的所有店铺?
如果我尝试
dbContext.MerchantShop
.Where(c => c.Campaign.CampaignID == campaignID)
Campaign.CampaignID 不工作。
【问题讨论】:
-
你得到什么错误?还是您没有看到任何结果?
-
听起来很奇怪。因为当它纯粹是一对表时(对于多对多关系),它应该转换为 Shop(.Campaigns) 和 Campaign(.Shops) 的导航属性。您是否在实体模型的生成中包含外键?
-
你需要 dbContext.MerchantShop.Include("Campaign").Where(c => c.Campaign.CampaignID ==campaignID)
标签: c# linq entity-framework