我有一个用户类,我想更新。我的数据库中有一个用户表,其中有两列:FirstName和Lastname,还有一个名为DisplayName的计算列,它们将中间的空格连接起来。 NHibernate的映射显示名称是NHibernate更新导致选择一行的计算列
<property name="DisplayName" type="string" generated="always"/>
当我更新的用户对象,并提交事务,NHibernate的运行额外的select语句只是在DisplayName属性,我冒昧地保持对象和同步数据库行。我不需要这个,因为这个对象之后就不在范围之内了。
有没有什么我可以告诉NHibernate,在这个时候不需要获取更新的DisplayName?
问候, F.
不能回答这个问题,但为什么不把这个计算作为用户对象的一部分? (例如连接Firstname和Lastname属性的c#属性)。这样你就不必涉及数据访问层。 – UpTheCreek 2010-12-16 15:58:16
这是在映射,以便您可以选择/搜索显示名称? – Phill 2010-12-16 16:01:22
@UpTheCreek - 我打算说同样的事情,但后来我想他可能会试图反对它。我只做过“全名”类型的东西作为类中的一个属性,而不是作为映射的一部分。 – Phill 2010-12-16 16:02:48