Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.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# 使用“时,如何筛选不需要的表?”;包括“;?_C#_Sql_Linq_Entity Framework - Fatal编程技术网

C# 使用“时,如何筛选不需要的表?”;包括“;?

C# 使用“时,如何筛选不需要的表?”;包括“;?,c#,sql,linq,entity-framework,C#,Sql,Linq,Entity Framework,我的噩梦还在继续。我注意到,当我使用eager loadinginclude时,所有相关的表都将检索到我的应用程序中。例如,1有3个表/POCO,如下所示,从下面的POCO和linq我只想检索2个表,但是当我检查生成T-SQL时,所有3个表都将检索,我如何排除表3 Poco public class TableA{ public virtual ICollection<TableB> B { get; set; } } public class TableB{ publ

我的噩梦还在继续。我注意到,当我使用eager loading
include
时,所有相关的表都将检索到我的应用程序中。例如,1有3个表/POCO,如下所示,从下面的POCO和linq我只想检索2个表,但是当我检查生成T-SQL时,所有3个表都将检索,我如何排除表3

Poco

public class TableA{
   public virtual ICollection<TableB> B { get; set; }
}

public class TableB{
   public virtual ICollection<TableC> C { get; set; }
}

public class TableC{

}

如果要对加载的实体进行细粒度控制,请使用:

db.Configuration.LazyLoadingEnabled = false;
请注意,对于DbContext的每个实例,您可以获得延迟加载,也可以获得渴望加载


您不应该在同一个实例上同时使用这两种方法。

理想情况下,不要使用即时加载。除非你有理由不告诉我们…展示实际的代码和用例。查询没有理由拉表C,所以它不应该这样做,这让我相信您遗漏了一些内容。为了进一步测试,我将删除您的Include语句,并关闭所需表的延迟加载。请看这篇文章,了解如何
db.Configuration.LazyLoadingEnabled = false;