是否可以将标量查询结果绑定到nhibernate中的属性?

时间:2010-01-25 21:28:12

标签: nhibernate

我有一个实体,它的属性不能从实体的表中获取它的值。但是如果可能的话,它可以通过查询来计算。

为了澄清,我有一个条目的实体,我想检查当前用户是否投票。因此,我认为我可以在 Entry 实体中添加“IsCurrentUserVoted”等属性。如果可以从像“select count(*) from vote where userId = :currentUser”这样的查询中绑定其值。

我想知道nhibernate是否支持这种功能,或者它是加入投票和输入表的唯一方法?如果没有,那么在这种情况下你的解决方案是什么。

提前致谢。

1 个答案:

答案 0 :(得分:1)

是的,我认为你可以用formula property ...

来做到这一点
<property name="IsCurrentUserVoted" formula="select count(*) from vote where userId=Id" />

我对语法不肯定,您可能需要使用标量函数来包装查询。此外,最好只在需要时运行该查询,除非您每次获得条目时确实需要该值。