FluentNHibernate:从派生属性返回枚举

时间:2010-04-13 14:35:42

标签: c# .net fluent-nhibernate properties

我正在使用FluentNHibernate的自动化功能,需要一个派生其返回值的属性。此属性必须返回Enum值,例如

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

目前我收到以下异常:

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

如果我添加一个setter,那么所涉及的数据库表需要该列存在,即使该setter什么都不做。

当返回类型为int时,它可以正常工作。

我是如何实现这一目标的?

1 个答案:

答案 0 :(得分:0)

似乎我需要为返回对象类型或枚举值的任何东西创建一个方法。例如:

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

如果它返回一个简单类型(int,string等),我可以拥有一个只读属性,它不需要作为数据库表中的列存在。