【发布时间】:2010-03-08 16:09:56
【问题描述】:
如何针对 NHibernate 中的自定义 IUserType 字段构造查询?
更具体地说: 我正在开发一个棕地应用程序。我在数据库中有一个名为“State”的字段,其中包含一个表示给定对象所处状态的字符。
在我的代码中,我希望将其表示为一个枚举,因此我为每个状态创建了一个包含一个值的枚举,并创建了一个 IUserType,它可以从 db 的 char 值转换为我的枚举,然后返回用于选择和更新。
我想构造一个如下所示的查询:
session.CreateCriteria<MyType>().Add(Expression.Eq("State", StateEnum.Complete))
但是,该查询会引发异常:
could not resolve property: State of: MyNamespace.MyType
大概是因为 NHibernate 不知道如何在给定 StateEnum 类型的情况下对 DB 的 char 字段进行选择。
【问题讨论】:
-
请发布您的映射
-
那个错误信息听起来像你没有映射属性 MyType.State
标签: c# nhibernate iusertype