我想在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