如何使用公式和列规范映射NHibernate实体属性

时间:2011-06-24 22:24:17

标签: nhibernate nhibernate-mapping

我正在尝试映射实体属性,使其将值写入数据库列,但使用公式检索其值。

为了关注实际问题,我简化了示例。实际上,公式有点复杂,并且正在使用NHibernate过滤器。

<many-to-one cascade="all" class="Thing" lazy="false" name="MyThing"
    formula="(SELECT Things.Value FROM Things WHERE Things.Id = MyThingId)">
    <column name="MyThingId" />
</many-to-one>

但是,除非我删除<column name="MyThingId" />行,否则会忽略该公式。

为了让NHibernate使用公式,我将如何修复此映射?

1 个答案:

答案 0 :(得分:6)

我认为不可能完全按照你的意思行事。

为什么不将财产分成两部分?一个只读公式,另一个读/写直接列映射...

如果您仍然需要单个访问点,则可以映射第三个被忽略的属性,该属性使用两个第一个属性来实现它getset个访问者。