我有以下的(簡化)設置: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