C# 我可以同时使用快速加载和延迟加载吗?
我有一个延迟加载的模型类。到目前为止,我一直使用惰性加载,例如加载单个学生的课程集 如果我想用所有注册学生的集合加载所有课程,我可以使用Include方法在一个属性上进行即时加载,而在属性上进行延迟加载吗?有副作用吗 [外国密钥ID] 公共虚拟ICollection学生{get;set;} 是的,你可以。Include就是这样做的,它包括相关的实体:它强制加载它们,而它们通常不加载。您可以添加eninclude,以便更深入地了解关系阶梯,因为它允许加载与先前包含的实体相关的数据。 但是,返回的实体是阶梯中最高的实体,而不是最新的实体。 在下面的示例中,将返回一个IQueryable,其中加载了课程实体,并且在课程内部加载了学生C# 我可以同时使用快速加载和延迟加载吗?,c#,entity-framework,entity-framework-6,C#,Entity Framework,Entity Framework 6,我有一个延迟加载的模型类。到目前为止,我一直使用惰性加载,例如加载单个学生的课程集 如果我想用所有注册学生的集合加载所有课程,我可以使用Include方法在一个属性上进行即时加载,而在属性上进行延迟加载吗?有副作用吗 [外国密钥ID] 公共虚拟ICollection学生{get;set;} 是的,你可以。Include就是这样做的,它包括相关的实体:它强制加载它们,而它们通常不加载。您可以添加eninclude,以便更深入地了解关系阶梯,因为它允许加载与先前包含的实体相关的数据。 但是,返回的实
没有问题,没有副作用。
public IQueryable<Students> GetCoursesWithAllStudents()
{
return db.Courses.Include(c => c.Students);
}
public IQueryable<Professors> GetCoursesWithAllStudents()
{
return db.Professors.Include(professor => professor.Courses)
.ThenInclude(course => course.Students);
}