NHibernate更新会导致选择行的计算列

时间:2010-12-16 15:53:00

标签: nhibernate nhibernate-mapping

我有一个我要更新的User类。我的数据库中有一个User表,其中包含两列:FirstName和Lastname,还有一个名为DisplayName的计算列,它将两者连接起来,中间有一个空格。 DisplayName的NHibernate映射是

<property name="DisplayName" type="string" generated="always"/>

当我更新User对象并提交事务时,NHibernate只在DisplayName属性上运行一个额外的select语句,我假设保持对象和数据库行同步。我不需要那个,因为之后对象超出了范围。

我可以做些什么来告诉NHibernate此时不需要获取更新的DisplayName吗?

此致 F。

1 个答案:

答案 0 :(得分:2)

generated="always"的意思是:“这是每次修改此行时数据库生成的值;请为我刷新它。”

NH没有像“仅在特定列更改时才刷新”这样的概念。

我的意见是你应该在域模型而不是数据库中生成该值。