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

San*_*zen 0 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>
Run Code Online (Sandbox Code Playgroud)

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

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

Var*_*ant 6

我认为不可能完全按照你的想法去做.

为什么不拆分两个属性?一个只读公式,另一个读/写直接列映射...

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