2010-04-13 135 views
0

我正在使用FluentNHibernate的自動映射功能,並需要一個派生其返回值的屬性。該屬性必須返回Enum值,例如FluentNHibernate:從派生屬性返回枚舉

public virtual MyEnum MyDerivedProperty 
{ 
    get 
    { 
     MyEnum retval; 
     // do some calculations 
     return retval; 
    } 
} 

目前我得到以下異常:

NHibernate.PropertyNotFoundException: Could not find a setter for property 'MyDerivedProperty' ... 

如果我添加一個setter那麼所涉及的數據庫表需要的列存在,即使制定者什麼都不做。

當返回類型是int時,它工作正常。

任何想法,我怎麼做到這一點?

+0

看來我需要爲任何返回對象類型或枚舉值的方法創建一個方法。如果它返回一個簡單類型(int,string等),我可以有一個只讀屬性,它不需要作爲數據庫表中的一列存在。 – 2010-04-20 10:04:36

回答

0

看來我需要爲任何返回對象類型或枚舉值的方法創建一個方法。例如:

public virtual MyEnum MyDerivedProperty() 
{ 
     MyEnum retval; 
     // do some calculations 
     return retval; 
} 

如果它返回一個簡單類型(整型,字符串,等等),我可以有哪些不需要存在爲數據庫中的表的列的只讀屬性。