我需要使用EF设计一个简单的LINQ to Entity查询。我很陌生,我被困了1天。
从我的DataBase表中可以找到:
CmsJobs
CmsJobsContents (Pure Junctional Table)
CmsContents
我需要列出一系列具有特定CmsJobs.JobId的CmsContents
知道怎么做吗? 谢谢你的帮助
我的模特EF:
答案 0 :(得分:2)
CmsJob job = (from j in dataContext.CmsJobs where j.JobId == jobIdIAmLookingFor select j).FirstOrDefault();
IEnumerable<CmsContent> theContentItems = job.CmsContents;
答案 1 :(得分:1)
或更可读和更快(我最近做了很多测试,从一种方式查询模型(从CmsJobs角度或从CmsContents角度出发):
using(EntityModel context = new EntityModel())
{
List<CmsContents> list = context.CmsContents
.Include("CmsJobs")
.Where<CmsContents>(cc => cc.CmsJobs.Where<CmsJobs>(cj => cj.JobId == requiredId))
.ToList<CmsContents>()
}
没有测试过这个,但我应该相信。自己尝试一下。这是查询透视的不太合乎逻辑的方式,但是在没有包含CmsJobs实体(如Rune所假设的)的情况下,为您提供完全您需要的内容(CmsContents实体列表)。