【发布时间】:2014-04-29 07:57:30
【问题描述】:
我在我的应用程序中关闭了延迟加载:
this.Configuration.LazyLoadingEnabled = false;
我的自引用实体类型是:
public partial class Okved : BaseEntity
{
public Okved()
{
this.ChildOkveds = new HashSet<Okved>();
this.TitleOkved = new HashSet<TitleOkved>();
}
public Nullable<int> OkvedId { get; set; }
public string Code { get; set; }
public string Name { get; set; }
public virtual ICollection<Okved> ChildOkveds { get; set; }
public virtual Okved ParentOkved { get; set; }
public virtual ICollection<TitleOkved> TitleOkved { get; set; }
}
但在我的 Dao 方法中,它返回所有实体,每个实体都有子实体,但它不应该...:
public virtual List<T> All(Expression<Func<T, object>> include = null)
{
List<T> result;
var query = DbConnection.BaseEntitySet.OfType<T>();
if (include != null)
query = query.Include(include);
result = query.ToList();
return result;
}
那么,如何关闭在查询中包含自引用实体? 在其他情况下(当实体在其他类型实体上获得引用时)预加载工作正常。
【问题讨论】:
标签: c# entity-framework lazy-loading eager-loading