我正在使用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时,它可以正常工作。
我是如何实现这一目标的?
答案 0 :(得分:0)
似乎我需要为返回对象类型或枚举值的任何东西创建一个方法。例如:
public virtual MyEnum MyDerivedProperty()
{
MyEnum retval;
// do some calculations
return retval;
}
如果它返回一个简单类型(int,string等),我可以拥有一个只读属性,它不需要作为数据库表中的列存在。