imu*_*kai 7 c# navigation-properties entity-framework-core
使用EF Core 1.1.0
我有一个模型,其集合本身就有集合.
public class A {
public string Ay {get;set;}
public List<B> Bees {get;set;}
}
public class B {
public string Be {get;set;}
public List<C> Seas {get;set;}
}
public class C {
public string See {get;set;}
public bool InDark {get;set;}
public List<D> Sigh {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
现在.. A是巨大的,99%的时间我不关心B,所以它不会被加载.如果我加载它,那将是这样的:
context.A.Include(a=>a.Bees).ThenInclude(b=>b.Seas).ThenInclude(c=>c.Sigh)...
Run Code Online (Sandbox Code Playgroud)
现在让我们说我已经加载了A并且1%恰好让我关心B.我们还没有延迟加载,但最后一个版本确实给了我们明确的加载.真棒.
context.Entry(A).Collection(a=>a.Bees).Load();
Run Code Online (Sandbox Code Playgroud)
问题似乎是没有办法在B中包含额外的集合?除了用.Include.ThenInclude.ThenInclude.Etc重新加载A,我别无选择吗?
Iva*_*oev 10
幸运的是你有一个选择.Load您可以使用Query方法并应用尽可能多的Include/ 而不是直接调用ThenInclude.
对于您的样本,它将是这样的:
context.Entry(A).Collection(a => a.Bees)
.Query()
.Include(b => b.Seas).ThenInclude(c => c.Sigh)...
.Load();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2087 次 |
| 最近记录: |