当我使用“include”时,如何过滤我不需要的表格?

时间:2014-07-24 22:00:01

标签: c# sql linq entity-framework

我的EF梦魇继续。我注意到当我使用预先加载include时,所有相关表将检索到我的应用程序。所以例如1有3个表/ POCO如下,从POCO和linq下面我只想检索2个表但是当我检查生成T-SQL时,所有3个表都将检索,如何排除表3?

波索

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

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

public class TableC{

}

LINQ

var rs =(from family in context.A.Include("B")
select family).SingleOrDefault();

1 个答案:

答案 0 :(得分:1)

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

db.Configuration.LazyLoadingEnabled = false;

请注意,对于DbContext的每个实例,您可以获得延迟加载或预先加载。

你不应该尝试在同一个实例上使用它们。