C# 不考虑第二级关系数据的实体框架
我有一节这样的课C# 不考虑第二级关系数据的实体框架,c#,entity-framework,entity-framework-core,C#,Entity Framework,Entity Framework Core,我有一节这样的课 public partial class TblCrrequests { public TblCrrequests() { TblCrExternalBudget = new HashSet<TblCrExternalBudget>(); } public int CrId { get; set; } public string ProjectCode { ge
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; }
}
但它不会返回第三级TblExternalBudgetTypes
所以我试着这样做,触发了一个错误:
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>();
List mycr=\u context.TblCrrequests
.Include(m=>m.TblCrExternalBudget)。然后Include(n=>n.tblexternalbudget类型)
.Include(m=>m.TblCrInternalbudget)
.Where(x=>x.ProjectCode==pcode)
.OrderByDescending(d=>d.RequestedOn)
.采取(8)
.ToList();
错误:
“ICollection”不包含“TblExternalBudgetTypes”的定义,并且找不到接受类型为“ICollection”的第一个参数的可访问扩展方法“TblExternalBudgetTypes”
我做错了什么,或者应该如何获取该结果中的第三个表数据?
TblCrExternalBudget
具有TblExternalBudgetTypes
类型的属性Type
,因此您需要执行以下操作:
List<TblCrrequests> mycr = _context.TblCrrequests
.Include(m => m.TblCrExternalBudget)
.ThenInclude(n => n.Type)
...
List mycr=\u context.TblCrrequests
.包括(m=>m.TblCrExternalBudget)
.然后包括(n=>n.Type)
...
List<TblCrrequests> mycr = _context.TblCrrequests
.Include(m => m.TblCrExternalBudget)
.ThenInclude(n => n.Type)
...