Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .NET Linq:如何在实体中加载所有内容_C#_Entity Framework_Linq - Fatal编程技术网

C# .NET Linq:如何在实体中加载所有内容

C# .NET Linq:如何在实体中加载所有内容,c#,entity-framework,linq,C#,Entity Framework,Linq,我有一个StudentDm链接到数据库中的一个Student表。该学生有20个导航属性(例如StudentEnrollments)和子导航属性。我需要加载一部分学生,但它对每个学生的导航属性进行了延迟加载,速度非常慢。我想做的是从dbContext获取一个学生列表,其中所有导航属性都已加载(一次数据库访问) 在你说这是不好的做法之前:我需要在这种特定情况下这样做,因为我需要将学生的子集导出到excel工作表中,基本上每个字段都是必需的 我不想一个接一个地使用.Include(),因为它不太可维

我有一个StudentDm链接到数据库中的一个Student表。该学生有20个导航属性(例如StudentEnrollments)和子导航属性。我需要加载一部分学生,但它对每个学生的导航属性进行了延迟加载,速度非常慢。我想做的是从dbContext获取一个学生列表,其中所有导航属性都已加载(一次数据库访问)

  • 在你说这是不好的做法之前:我需要在这种特定情况下这样做,因为我需要将学生的子集导出到excel工作表中,基本上每个字段都是必需的

  • 我不想一个接一个地使用.Include(),因为它不太可维护。有很多导航属性,我也需要在其他地方和其他实体中这样做

  • 我不希望做一个数据传输对象,它基本上拥有学生拥有的一切,我认为这是多余的,而且有很多字段


非常感谢任何专家的帮助。

在您的实体中,您可以这样做:this.Configuration.LazyLoadingEnabled=false;这将禁用上下文中所有内容的延迟加载,而不仅仅是所需的实体?因为如果我理解正确的话,数据库调用将有20多个联接。如果您可以发布一些示例代码(包括一些“简化”的实体类声明),我们可以帮助您更好地处理您可以执行的实体:this.Configuration.LazyLoadingEnabled=false;这将禁用上下文中所有内容的延迟加载,而不仅仅是所需的实体?因为如果我理解正确的话,数据库调用将有20多个联接。如果您可以发布一些示例代码(包括一些“简化”的实体类声明),我们可以更好地帮助您