我有一个实体,它的属性不能从实体的表中获取它的值。但是如果可能的话,它可以通过查询来计算。
为了澄清,我有一个条目的实体,我想检查当前用户是否投票。因此,我认为我可以在 Entry 实体中添加“IsCurrentUserVoted”等属性。如果可以从像“select count(*) from vote where userId = :currentUser
”这样的查询中绑定其值。
我想知道nhibernate是否支持这种功能,或者它是加入投票和输入表的唯一方法?如果没有,那么在这种情况下你的解决方案是什么。
提前致谢。
答案 0 :(得分:1)
是的,我认为你可以用formula property ...
来做到这一点<property name="IsCurrentUserVoted" formula="select count(*) from vote where userId=Id" />
我对语法不肯定,您可能需要使用标量函数来包装查询。此外,最好只在需要时运行该查询,除非您每次获得条目时确实需要该值。