【发布时间】:2016-11-07 14:13:02
【问题描述】:
我有这个 Keuring 类,我遇到了一个问题,包括使用 linq 的 Testresultaten 集合属性上的导航项。
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 类:
public partial class Testresultaten
{
//Simple properties here
//Complex properties below
public virtual Test Test { get; set; }
public virtual Keuring Keuring { get; set; }
}
这是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 => {from Testresultaten subItem in [x].Testresultaten select [subItem].Test}' 无效。该表达式应表示属性访问:'t => t.MyProperty'。
Testresultaten 类中的 Test 变量是属性而不是字段。我究竟做错了什么?它是可访问的,就像Gereedschap 在Keuring 中一样
【问题讨论】:
-
而测试是你模型中的一个实体?
-
是的,它是一个实体
标签: c# entity-framework linq entity-framework-core