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

如何使用公式和列规范映射NHibernate实体属性,nhibernate,nhibernate-mapping,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

我试图以这样的方式映射实体属性:它将其值写入数据库列,但使用公式检索其值

为了关注实际问题,我简化了示例。实际上,这个公式有点复杂,使用的是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>

但是,该公式将被忽略,除非我删除


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

我认为不可能完全按照您所尝试的方式进行

为什么不把房子一分为二呢?一个用于公式的只读,另一个用于直接列映射的读/写


如果您仍然想要一个单一的访问点,您可以映射第三个被忽略的属性来实现它,即具有前两个属性的
get
set
访问器。

我认为不可能完全实现您正在尝试的功能

为什么不把房子一分为二呢?一个用于公式的只读,另一个用于直接列映射的读/写


如果您仍然想要一个单一的访问点,您可以映射第三个被忽略的属性,该属性使用前两个属性实现它的
get
set
访问器。

谢谢。我最终使用了两个属性而不是一个,一个用于提供持久性,另一个用于使用公式方便检索。谢谢。我最终使用了两个属性而不是一个,一个用于提供持久性,另一个用于使用公式方便检索。