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)
                ...