我有三张桌子
start
(Id,acctId,detailId)detail
(身份证,姓名)item
(Id,detailId,desc) start
与detail
具有一对一的关系,detail
与item
具有一对多的关系。
我正在尝试编写lambda或linq查询,因此对于给定的acctId
,我得到name
和desc
。我尝试了以下使用EF,但结果不正确:
var te = DbContext.Set<start>().Include("detail")
.Where(a=>a.acctId== id && a.detail.items.Any());
答案 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()
});
虽然可能会有更多潜在问题......