我有一个NHibernate的地图,其限定的类型一的hasMany关系,即一类具有另一个类的列表。
我想NHibernate的是能够读取未提交的数据包括来自的hasMany关系造成的列表。
我的IsolationLevel ReadUncomitted,我能写数据,并且在提交之前读取它。
但是,列表总是空的,除非我犯第一。
有没有一种方法,使NHibernate的填充来自的hasMany-关系的数据对象?
编辑
事实证明,在一个类中的任何非原始类型不被未提交的读取填充,除非他们实际上是添加到类。
例如,类Foo
下面有一个列表Member
这-数据库-由连接Id
。 如果我坚持的一个实例Foo
和实例Member
使用NHibernate的数据库,这两个其实都是由价值相关的Id
,那么Foo
不会有预期的情况下Member
,如果我在完成之前读回未提交的(即交易)。
public class Member
{
Guid Id{ get; set; }
}
public class Foo
{
List<Member> MemberList{ get; set; }
}
// the mapping
public class FooMap
{
HasMany(x => x.MemberList).KeyColumn("Id").PropertyRef("Id");
}
但是,如果我创建的实例Foo
和实例Member
,并设置后者为前者的参考,并坚持既使用NHibermate数据库,然后Foo
将有预期的实例Member
,当我完成之前读回交易。
如果我完成交易,然后Foo
将有预期的情况下Member
在后续读取; 只要在交易完成后是无关紧要是否Member
只存在与正确的FK一个数据库记录Foo
或它是一个参考Foo
。
经修订的课题:这是有可能的NHibernate的填充基于FK-关系复杂的成员只在未提交读?