EF - Linq to Entity和navigation属性

时间:2011-02-07 09:40:55

标签: c# linq entity-framework linq-to-entities

我需要使用EF设计一个简单的LINQ to Entity查询。我很陌生,我被困了1天。

从我的DataBase表中可以找到:

CmsJobs
CmsJobsContents (Pure Junctional Table)
CmsContents  

我需要列出一系列具有特定CmsJobs.JobId的CmsContents

知道怎么做吗? 谢谢你的帮助

我的模特EF:

enter image description here

2 个答案:

答案 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实体列表)。