Database .NET核心Web Api加载嵌套实体

Database .NET核心Web Api加载嵌套实体,database,entity-framework,asp.net-web-api,asp.net-core,Database,Entity Framework,Asp.net Web Api,Asp.net Core,我有一个db模型,看起来像: public CallTrackers() { CallTrackerCallerTelns = new HashSet<CallTrackerCallerTelns>(); CallTrackerClients = new HashSet<CallTrackerClients>(); CallTrackerFlwups = new HashSet<CallTrackerF

我有一个db模型,看起来像:

    public CallTrackers()
    {
        CallTrackerCallerTelns = new HashSet<CallTrackerCallerTelns>();
        CallTrackerClients = new HashSet<CallTrackerClients>();
        CallTrackerFlwups = new HashSet<CallTrackerFlwups>();
        CallTrackerHistory = new HashSet<CallTrackerHistory>();
    }
public CallTrackers()
{
CallTrackerCallerTelns=newhashset();
CallTrackerClient=new HashSet();
CallTrackerFlwups=新的HashSet();
CallTrackerHistory=新哈希集();
}
使用GetAll()我可以加载所有内容,但CallTrackerClient有3个嵌套对象无法检索:

    public CallTrackerClients()
    {
        CallTrackerClientAdvice = new HashSet<CallTrackerClientAdvice>();
        CallTrackerClientOffences = new HashSet<CallTrackerClientOffences>();
        CallTrackerClientSureties = new HashSet<CallTrackerClientSureties>();
    }
public CallTrackerClients()
{
CallTrackerClient=new HashSet();
CallTrackerClientOffences=新HashSet();
CallTrackerClient=new HashSet();
}
我正在努力:

    [HttpGet]
    public IEnumerable<CallTrackers> GetAll()
    {
        return _context.CallTrackers
            .Include(log => log.CallTrackerClients)
                .ThenInclude(c => c.CallTrackerClientAdvice)
            .Include(log => log.CallTrackerCallerTelns)
            .Include(log => log.CallTrackerFlwups)
            .Include(log => log.CallTrackerHistory)
            .ToList();
    }
[HttpGet]
公共IEnumerable GetAll()
{
return\u context.CallTrackers
.Include(log=>log.callTrackerClient)
.然后包括(c=>c.CallTrackerClient设备)
.Include(log=>log.CallTrackerCallerTelns)
.Include(log=>log.CallTrackerFlwups)
.Include(log=>log.CallTrackerHistory)
.ToList();
}
上述工作,但我需要得到担保和犯罪以及。当我尝试
.thenclude(c=>c.CallTrackerClientOffences)
时,我得到一些“不包含定义”错误


您知道如何获取CallTrackerClient中剩下的两个集合吗?

您必须始终从父实体开始

    return _context.CallTrackers
        .Include(log => log.CallTrackerClients)
            .ThenInclude(c => c.CallTrackerClientAdvice)
        // this
        .Include(log => log.CallTrackerClients)
            .ThenInclude(c => c.CallTrackerClientOffences)
        // and this
        .Include(log => log.CallTrackerClients)
            .ThenInclude(c => c.CallTrackerClientSureties)
        .Include(log => log.CallTrackerCallerTelns)
        .Include(log => log.CallTrackerFlwups)
        .Include(log => log.CallTrackerHistory)
        .ToList();

始终必须从父实体开始

    return _context.CallTrackers
        .Include(log => log.CallTrackerClients)
            .ThenInclude(c => c.CallTrackerClientAdvice)
        // this
        .Include(log => log.CallTrackerClients)
            .ThenInclude(c => c.CallTrackerClientOffences)
        // and this
        .Include(log => log.CallTrackerClients)
            .ThenInclude(c => c.CallTrackerClientSureties)
        .Include(log => log.CallTrackerCallerTelns)
        .Include(log => log.CallTrackerFlwups)
        .Include(log => log.CallTrackerHistory)
        .ToList();