1
我有這個Keuring
類,我有一個問題,其中包括使用linq的Testresultaten
集合屬性上的導航項。包括導航支持ICollection
public partial class Keuring
{
public Keuring()
{
Testresultaten = new HashSet<Testresultaten>();
}
//Simple properties here
//Complex properties below
public virtual ICollection<Testresultaten> Testresultaten { get; set; }
public virtual Gereedschap Gereedschap { get; set; }
}
這裏是Testresultaten
類:
這裏是Gereedschap
類:
public partial class Gereedschap
{
public Gereedschap()
{
Keuring = new HashSet<Keuring>();
}
//Simple properties here
//Complex properties below
public virtual ICollection<Keuring> Keuring { get; set; }
public virtual Debiteur Debiteur { get; set; }
}
此語句正常工作:
var keuringEntry = db.Keuring.Include(item => item.Gereedschap).Include(item => item.Testresultaten).SingleOrDefault(item => item.key = "keyvalue");
但是,當我添加一個額外的Include
這樣的:
Include(item => item.Testresultaten.Select(subItem => subItem.Test))
語句給出一個錯誤:
var keuringEntry = db.Keuring.Include(item => item.Gereedschap).Include(item => item.Testresultaten.Select(subItem => subItem.Test)).SingleOrDefault(item => item.key = "keyvalue");
錯誤: 屬性表達「X => {從Testresultaten子項在[X] .Testresultaten選擇[子項目] .Test}'無效。表達式應該表示一個屬性訪問:'t => t.MyProperty'。
類中的Test
var是屬性而不是字段。我究竟做錯了什麼?並且它可以像Gereedschap
那樣在Keuring
而測試是在你的模型中的實體? – octavioccl
看看['ThenInclude'](https://docs.efproject.net/en/latest/querying/related-data.html#id2) –
是的,它是一個實體 –