NHibernate:为什么非持久性属性必须标记为虚拟以进行延迟加载

NHibernate:为什么非持久性属性必须标记为虚拟以进行延迟加载,nhibernate,virtual,lazy-loading,Nhibernate,Virtual,Lazy Loading,我有点明白为了允许延迟加载,NHibernate需要生成一个扩展POCO类的代理类。所以我想NHibernate需要重写持久化属性的实现,并且必须将它们标记为虚拟的 我不明白的是,为什么我必须把几乎所有的东西都标记为虚拟的。例如,我必须标记一个IsValid属性,它引用了其他属性,但显然它本身不是持久的,奇怪的是,我还必须将类可以发出的所有事件标记为虚拟的 有人知道这是为什么吗?我只是好奇 谢谢 大卫

我有点明白为了允许延迟加载,NHibernate需要生成一个扩展POCO类的代理类。所以我想NHibernate需要重写持久化属性的实现,并且必须将它们标记为虚拟的

我不明白的是,为什么我必须把几乎所有的东西都标记为虚拟的。例如,我必须标记一个IsValid属性,它引用了其他属性,但显然它本身不是持久的,奇怪的是,我还必须将类可以发出的所有事件标记为虚拟的

有人知道这是为什么吗?我只是好奇

谢谢

大卫