在EF中使用Linq / Lambda的三个表查询

时间:2015-07-09 00:00:41

标签: c# linq entity-framework lambda

我有三张桌子

  • start(Id,acctId,detailId)
  • detail(身份证,姓名)
  • item(Id,detailId,desc)

startdetail具有一对一的关系,detailitem具有一对多的关系。

我正在尝试编写lambda或linq查询,因此对于给定的acctId,我得到namedesc。我尝试了以下使用EF,但结果不正确:

var te = DbContext.Set<start>().Include("detail")
                  .Where(a=>a.acctId== id && a.detail.items.Any());

1 个答案:

答案 0 :(得分:0)

如果您有导航属性,并且只需要这些特定属性:

var te = DbContext.Set<start>().Where(a => a.acctId == id).Select(s => new
     {
         name = s.detail.name,
         descs = s.detail.items.Select(i => i.desc).ToList()
     });

虽然可能会有更多潜在问题......