【发布时间】:2015-10-13 19:04:59
【问题描述】:
在我的 ASP.NET MVC 应用程序中,我打开了实体框架的延迟加载。
这意味着当我使用例如它时它会加载所有项目关系中的所有数据。
@using (MyApp.Models.ProjectsEntities db = new VodenjeDel.Models.ProjektiEntities()) {
db.projects;
}
当在某些情况下我不想加载所有相关数据时,我只需添加.Include(x => x.Colors),这意味着除了颜色之外的所有相关数据都被排除在外,因为如果没有使用包含,它会加载所有相关数据。
但在极少数情况下,我想排除所有相关数据并仅从项目中获取数据。
我想使用类似的东西:
db.projects.Exclude(x => x.All);
但这不起作用。启用延迟加载的正确方法是什么?
【问题讨论】:
-
您尝试将延迟加载设置为 false 吗?
db.Configuration.LazyLoadingEnabled = false; -
不能,因为应用有太多查询,而我需要排除所有相关数据的查询很少。
-
你可以在你的 using 语句中逐案进行。
标签: c# asp.net-mvc performance entity-framework linq