FluentNHibernate:从派生属性返回枚举

发布于 2024-08-29 09:40:17 字数 483 浏览 2 评论 0原文

我正在使用 FluentNHibernate 的自动映射功能,并且需要一个派生其返回值的属性。该属性必须返回一个枚举值,例如

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 时它工作得很好。

我有什么想法可以实现这一目标吗?

I'm using the automapping feature of FluentNHibernate and need a property that derives its return value. This property must return an Enum value, e.g.

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

Currently I get the following exception:

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

If I add a setter then the database table involved requires the column to exist, even if that setter does nothing.

It works fine when the return type is an int.

Any ideas how I achieve this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

青衫儰鉨ミ守葔 2024-09-05 09:40:17

看来我需要为返回对象类型或枚举值的任何内容创建一个方法。例如:

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

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

It seems that I need to create a method for anything that returns an object type or enum value. For example:

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

If it returns a simple type (int, string, etc) I can have a read-only property which does not need to exist as a column in a database table.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文