nhibernate在课堂上懒惰
问题描述:
只需咨询NHibernate的专家,我知道(并广泛使用)懒加载的集合。nhibernate在课堂上懒惰
但是,迄今为止,我一直无法确定在类级别设置惰性属性的含义。
在我们现有的hbm文件中,它们都具有懒惰设置为false的类节点。例如
<class name="Decision" lazy="false" ...>
我已经删除了该属性试验(从而默认这是真的),结果是我得到一个InvalidProxyTypeException。
我认为这是因为它将所有属性(即引用类型)和集合设置为lazy =“true”,而不管它们是否是数据对象。
所以我的问题是,这个假设是否正确?在NHibernate配置的类节点级别设置lazy =“true”是否将所有引用类型和集合类型默认设置为lazy =“true”?在课堂上还有其他的懒惰=“真实”吗?
如果我上面说的是真的,那么它也意味着它不可能在你的域对象中混合正常属性和数据属性,除非你也将这些属性设置为虚拟,即使它不是必需的。
public virtual FirstName {get; set;}
public virtual LastName {get; set;}
public FullName {get{ return FirstName + " " + LastName;}} // InvalidProxyTypeException thrown!