【发布时间】:2012-02-07 20:20:15
【问题描述】:
我正在尝试对多个表使用标准 Api 并进行预加载。
我的精简实体如下所示:
class Limit
{
Risk {get; set;}
}
class Risk
{
List<Company> Companies { get;set;}
}
class Company
{
List<Address> OldAdresses {get;set;}
}
class Address
{
string Street { get;set;}
}
我的 Criteria 调用如下所示:
var CriterionGruppe = Expression.Eq("Account.Id", someGuid);
var temp = _transaktion.Session.CreateCriteria(typeof(Limit))
.SetFetchMode("Risk", FetchMode.Eager)
.SetFetchMode("Risk.Companies", FetchMode.Eager)
.Add(CriterionGruppe)
.SetResultTransformer(new DistinctRootEntityResultTransformer())
.List<Limit>();
地址仍然加载了许多选择。如何在我的标准调用中包含公司的旧地址。
我已经在 ayende 的博客中阅读了一篇博文,并在 stackoverflow 上阅读了其他几个问题。但还是没有运气。
我希望有人能指出我正确的方向。
提前谢谢彼得
When must we use eager loading in NHibernate? What is it's usage?
【问题讨论】:
标签: c# nhibernate eager-loading