【发布时间】:2017-10-12 08:59:46
【问题描述】:
我有以下(简化的)设置:
Public class parent
{
public string name{get;set;}
public list<child> childList {get;set;}
}
Public class child
{
public int id {get;set;}
public bool imported{get;set;}
public dateTime? timeSpan {get;set;}
}
我有这个问题:
var relevant = context.parent
.include(x => x.child.OrderByDescending(y => y.id).FirstOrDefaultAsync(z => z.imported == false && timeSpan == null)
.Where(x => x.child != null);
这不起作用。
基本上,我试图包括所有父母子女,但按 id 降序排列,然后检查第一个(例如最新的)是否有 imported == false 和 timeSpan == null,并且只包括有的父行符合这个条件的孩子。
我知道我可以这样做:
var relevant = context.parent
.include(x => x.child);
然后提取我需要的数据,但是是否可以使用 Linq 一次性完成?
【问题讨论】:
标签: c# linq linq-to-entities