- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我如何在 NHibernate 中构建针对自定义 IUserType 字段的查询?
更具体地说:我正在处理一个棕地应用程序。我在数据库中有一个名为“State”的字段,其中包含一个表示给定对象所处状态的字符。
在我的代码中,我希望它被表示为一个枚举,所以我创建了一个枚举,每个状态都有一个值,并创建了一个 IUserType,它将数据库的 char 值转换为我的枚举,然后返回以进行选择和更新。
我想构造一个看起来像这样的查询:
session.CreateCriteria<MyType>().Add(Expression.Eq("State", StateEnum.Complete))
但是,该查询抛出异常:
could not resolve property: State of: MyNamespace.MyType
大概是因为 NHibernate 不知道如何针对给定 StateEnum 类型的数据库的 char 字段进行选择。
最佳答案
您的类和映射应如下所示:
class MyType
{
public virtual StateEnum State { get; set; }
}
<class name="MyType">
<property name="State" type="MyNamespace.MyEnumUserType, MyDll" />
</class>
NHibernate 有 3 个内置的枚举映射器:
(char) (int) enumvalue
的结果。关于c# - 在 NHibernate 中构造针对 IUserType 的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2367375/
我有这个实现 IUserType 的类: public class StringToIntType : IUserType { /// /// mutable
嗨,我想知道两者之间的区别,为什么要使用一种而不是另一种以及何时使用? 最佳答案 您的对象模型不一定与您的数据库模型一一对应,而且在大多数情况下会更丰富。组件是通过在对象模型中封装功能来丰富数据库模型
首先让我为这篇文章的长度道歉,虽然它主要是代码,所以我希望大家多多包涵! 我有一个处理遗留数据库的场景,我需要使用 NHibernate 3.2 编写一个 IUserType 来获取一个 2 个字符的
我使用 NHibernate 和 Postgresql 作为后端,并且必须创建自定义类型以将 System.DateTime 转换为 Postgresql“时间”类型以及将 System.TimeSp
我正在尝试通过代码获取使用 NHibernate (v3.3) 映射的自定义类型。我试着按照这个例子 here ,但没有运气。我试图实现的自定义类型是一种修剪来自数据库的字符串的类型。 我收到以下异常
我正在尝试为州和国家/地区代码实现 IUserType,这将允许我访问两个字母的代码(存储在数据库中的内容)以及全名。我遵循 NHibernate 3.0 Cookbook(第 225 页)中的示例,
我有一个 LocalizedString 类,用于存储单个值的本地化。这个概念大致基于 post by Fabio Maulo . 我在 NHibernate 3.2 中使用新的 Mapping-By
我如何在 NHibernate 中构建针对自定义 IUserType 字段的查询? 更具体地说:我正在处理一个棕地应用程序。我在数据库中有一个名为“State”的字段,其中包含一个表示给定对象所处状态
在执行如下 NHibernate Linq 查询时是否可以防止此异常: var dateFilter = DateTime.Parse("1500-01-01"); return _session.Q
我们有一个主要对应于 System.Int64 的自定义类型,用于我们的系统标识符(它对潜在的长值可以是什么提供了一些额外的限制)。 我们还定义了一个 IUserType 以允许我们将此类型的属性映射
在我的项目中,我使用 IUserType (BooleanM1) 来处理 bool 值并将 -1 表示为真,0 表示为假值写入数据库。到目前为止一切正常。映射看起来像这个: 所以如果我做如下查询 v
对于我当前的项目,我在 C# 中使用 CaSTLe 的 ActiveRecord。对于我的一张表,我确实需要使用自定义类型类(处理愚蠢的时间到时间跨度的转换)。为了保持我的代码干净,我喜欢在对象映射类
我正在尝试创建一个 NHibernate IUserType野田时间LocalTime逻辑上映射到 time 的类型输入 Sql Server 2008/2012。我能够从数据库中保存和加载值。但是,
我是一名优秀的程序员,十分优秀!