【发布时间】:2020-07-27 17:13:02
【问题描述】:
我有这样的课
public partial class TblCrrequests
{
public TblCrrequests()
{
TblCrExternalBudget = new HashSet<TblCrExternalBudget>();
}
public int CrId { get; set; }
public string ProjectCode { get; set; }
public virtual ICollection<TblCrExternalBudget> TblCrExternalBudget { get; set; }
}
public partial class TblCrExternalBudget
{
public int? CrId { get; set; }
public int? TypeId { get; set; }
public virtual TblCrrequests Cr { get; set; }
public virtual TblExternalBudgetTypes Type { get; set; }
}
public partial class TblExternalBudgetTypes
{
public TblExternalBudgetTypes()
{
TblCrExternalBudget = new HashSet<TblCrExternalBudget>();
}
public int TypeId { get; set; }
public string TypeName { get; set; }
public virtual ICollection<TblCrExternalBudget> TblCrExternalBudget { get; set; }
}
为了获取TblCrrequests 类型的所有数据,我编写了这段代码
List<TblCrrequests> mycr = _context.TblCrrequests
.Include(m => m.TblCrExternalBudget)
.Where(x => x.ProjectCode == pcode)
.OrderByDescending(d => d.RequestedOn)
.Take(8)
.ToList<TblCrrequests>();
但它不返回第三级TblExternalBudgetTypes。
所以我尝试了ThenInlcude 这样触发了错误:
List<TblCrrequests> mycr = _context.TblCrrequests
.Include(m => m.TblCrExternalBudget).ThenInclude(n => n.TblExternalBudgetTypes)
.Include(m => m.TblCrInternalbudget)
.Where(x => x.ProjectCode == pcode)
.OrderByDescending(d => d.RequestedOn)
.Take(8)
.ToList<TblCrrequests>();
错误:
“ICollection”不包含“TblExternalBudgetTypes”的定义,并且找不到接受“ICollection”类型的第一个参数的可访问扩展方法“TblExternalBudgetTypes”
我做错了什么或者我应该如何获得该结果中的第三个表数据?
【问题讨论】:
标签: c# entity-framework entity-framework-core