我有以下的(简化)设置:C#LINQ到实体包括与条件和订购
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做一个?
也许相关https://stackoverflow.com/questions/32751427/conditional-include-in-entity-framework – OmG