nhibernate中的lazy="true"
和lazy="proxy"
有什么区别?
最佳答案
我怀疑这是另一种思考方式。
class Foo
{
public virtual Bar SingleBar { get; set; }
public virtual ICollection<Bar> MultiBar { get; set; }
}
(您不能将lazy =“proxy”设置为集合,也不能将lazy =“true”设置为单个引用。这两种方法都会导致NH抛出XmlSchemaException,这对于初学者来说有点神秘。)
从操作上讲,它们执行相同的抽象操作:仅当访问该属性时,NHibernate才会命中数据库并填充该属性。
但是,由于需要获取对象(在一种情况下,引用的ID(Bar)加载了父实体(Foo)),因此实现上会有细微的差别。在集合的情况下,ID是未知的,必须在另一个表中找到)
关于nhibernate - nhibernate延迟加载选项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1027019/