我有以下属性(property)
<property name="Allocated" type="decimal" formula="(select sum(a.AllocationAmount) from Allocation a where a.TransactionId = TransactionId)" />
这会加载已分配给发票的交易金额,效果很好。
但是,大多数情况下我并不关心这个数额。有没有办法有条件地加载这个计算列?或者有没有办法将这个计算列添加到 HQL/Critera,这样我就可以让它成为我运行的某些特定查询的一部分?
最佳答案
在 NH 3.0 中,您可以定义惰性属性,它们的工作方式与它们听起来完全一样(参见 http://ayende.com/Blog/archive/2010/01/27/nhibernate-new-feature-lazy-properties.aspx)
但是,这看起来更适合查询,或者可能是充当 View 的伪实体。
关于NHibernate:有条件地加载计算列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3314980/