我的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();
答案 0 :(得分:1)
如果要对加载了哪些实体进行细粒度控制,请使用:
db.Configuration.LazyLoadingEnabled = false;
请注意,对于DbContext的每个实例,您可以获得延迟加载或预先加载。
你不应该尝试在同一个实例上使用它们。