我正在使用flent-hibernate进行自动映射进行映射。我想如果有一种方法可以使用IConvention或类似方法将引用属性设置为'lazy-loading',而不是使用单独的映射类?
答案 0 :(得分:2)
首先,我认为懒惰是默认行为 你可以很容易地测试它 -
[TestMethod]
public void TestLazyLoading()
{
Airport firstObject = null;
using (ISession session = this.SessionFactory.OpenSession())
{
using (ITransaction transaction = session.BeginTransaction())
{
ObjectDAO dao = new ObjectDAO(session, CurrentUser);
firstObject = dao.GetObject();
transaction.Commit();
}
}
Assert.IsFalse(NHibernateUtil.IsInitialized(firstObject.Children));
}
如果要明确指定lazy / eager,请在MappingOverride类中使用以下内容:
mapping.HasMany(x => x.Employees)
//.Not
.LazyLoad()
;
答案 1 :(得分:1)
要调整自动对象,您可以使用IAutoMappingOverride<SomeEntity>
。您可以更改您需要的确切属性