在我的 ASP.NET MVC 应用程序中,我打开了 Entity Framework 的延迟加载。
这意味着当我使用 eg 时,它会从所有项目关系中加载所有数据。
@using (MyApp.Models.ProjectsEntities db = new VodenjeDel.Models.ProjektiEntities()) {
db.projects;
}
当某些情况下我不想加载所有相关数据时,我只是添加.Include(x => x.Colors)
,这意味着排除除颜色之外的所有相关数据,因为如果没有使用 include,它会加载所有相关数据。
但在极少数情况下,我想排除所有相关数据并仅从项目中获取数据。
我想使用类似的东西:
db.projects.Exclude(x => x.All);
但这行不通。启用延迟加载的正确方法是什么?
最佳答案
您可以随时禁用延迟加载..
@using (MyApp.Models.ProjectsEntities db = new VodenjeDel.Models.ProjektiEntities()) {
db.Configuration.LazyLoadingEnabled = false;
var projects = db.projects; // no related data available
db.Configuration.LazyLoadingEnabled = true;
var projects = db.projects; // related data available
}
关于c# - 在 Entity Framework 中排除所有(启用延迟加载),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33110664/