繁体   English   中英

.NET Core Web Api加载嵌套实体

[英].NET Core Web Api Loading Nested Entities

我有一个数据库模型,看起来像:

    public CallTrackers()
    {
        CallTrackerCallerTelns = new HashSet<CallTrackerCallerTelns>();
        CallTrackerClients = new HashSet<CallTrackerClients>();
        CallTrackerFlwups = new HashSet<CallTrackerFlwups>();
        CallTrackerHistory = new HashSet<CallTrackerHistory>();
    }

使用我的GetAll(),我可以加载一切正常,但CallTrackerClients具有3个无法检索的嵌套对象:

    public CallTrackerClients()
    {
        CallTrackerClientAdvice = new HashSet<CallTrackerClientAdvice>();
        CallTrackerClientOffences = new HashSet<CallTrackerClientOffences>();
        CallTrackerClientSureties = new HashSet<CallTrackerClientSureties>();
    }

我在尝试:

    [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();
    }

上面的作品,但我也需要获得担保和违法。 当我尝试.ThenInclude(c => c.CallTrackerClientOffences)一些“不包含定义”错误。

有什么想法如何获取CallTrackerClients剩余的两个集合吗?

您始终必须从父实体开始。

    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();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM