EF Core 延迟加载时如何加载多个关卡?

问题描述 投票:0回答:1

我有一个使用 C# / WPF 和 SQL Server 以及 EF Core 5 的程序。有时我会使用急切加载,例如:

(from r in MyContext.Refractions where r.Id == id select r)
    .Include(r => r.RightLens)
    .ThenInclude(l => l.Prisms);

等等。这是一个光学数据数据库,因此有字段名称。

Refractions
链接到(眼睛)
Examinations

当我想要延迟加载时,我使用以下内容:

MyContext.Entry(patient)
         .Collection(e => e.Examinations).Load();

我的问题是,当使用第二个惰性选项时,有没有办法也加载关联数据(相当于

.Include
方法)?
例如,我想要相当于:

Load

或者我是否需要检测 
MyContext.Entry(patient) .Collection(e => e.Examinations) .Load().Include(r => r.Refractions);

集合未加载到我的视图模型中的某个位置,然后在需要时手动加载?

    

c# sql-server entity-framework-core relational-database lazy-loading
1个回答
1
投票

Refractions

© www.soinside.com 2019 - 2024. All rights reserved.