Database .NET核心Web Api加载嵌套实体
我有一个db模型,看起来像: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
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();