我想在nhibernate类中有一个'虚拟'(不存在,不要与虚拟关键字混淆)字段。nhibernate'虚拟'字段
我有一个证券表,我想要一个'虚拟'字段,使用另一个字段返回一个标志。
我在db_securities表NHibernate的类增加了一个计算字段:
public class DB_Securities
{
private string cusip;
private string securityDescription;
...
private string classCode;
...
private String isSweepAccount;
...
public virtual string ClassCode
{
get { return classCode; }
set { classCode = value; }
}
...
public virtual String IsSweepAccount
{
get
{
isSweepAccount = (classCode > 20 && ClassCode < 25)?"Y":"N" ;
return isSweepAccount;
}
set { isSweepAccount = value; }
}
}
我有DB_Securities.hbm.xml与
<class name="<namespace>.DB_Securities, <assembly>" lazy="true" table="Securities">
<id name="Cusip" type="String" length="9">
<generator class="assigned" />
</id>
<property name="SecurityDescription" type="String" length="36"/>
...
<property name="ClassCode" type="String" length="3"/>
...
<property name="IsSweepAccount" type="String" update="false" insert="false"/>
我想这应该让我访问现场IsSweepAccount好像它在表格中一样,但是我得到:
Inner Exception = Invalid column name 'IsSweepAccount'.
和SQL显示它正在创建一个选择并引用该列名称,应该没问题。
大约一年前,我在java/hibernate中成功完成了这件事。这是我第一次尝试 在nhibernate。
我错过了什么?
“计算”可能比“虚拟”更有用(且更清晰) – 2009-10-19 19:16:56