c# - 在 Entity Framework 中排除所有(启用延迟加载)

标签 c# asp.net-mvc performance entity-framework linq

在我的 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/

相关文章:

performance - 禁用访客的用户 session

mysql - 如何优化具有多个结果的 MySQL/MyISAM 全文搜索

c# - 传递可变数量的参数

ASP.NET MVC : Using LINQ to XML to render (X)HTML

asp.net-mvc - 跨页面存储信用卡信息的安全方法 ASP.NET MVC

asp.net-mvc - ASP.NET MVC : Tri-state checkbox

c# - 为什么我必须显式地将一个类转换为其接口(interface)类型?

c# - Windows Phone 7 中的可缩放图像

c# - 为什么只在线程访问UI控件时在调试时出现异常?

JavaScript 使用正则表达式和偏移量开始