【发布时间】:2011-01-05 06:06:08
【问题描述】:
我有一个旧架构,其中包含具有复合键的表,其中一些键的类型为 binary(16)——它是其他列的 MD5 哈希。我无法找到映射此结构的正确方法。我尝试的第一件事是简单地使用 byte[] 作为我的域类型,NHibernate 很快就取消了它,因为 byte[] 没有实现 Equals(呃!)。接下来我尝试创建一个自定义用户类型(即实现 IUserType)来包装 byte[] 并提供必要的 Equals 实现,但这不起作用,因为 NHibernate(v2.1.2)似乎不支持用户类型在复合键中。我尝试的最后一件事是使用 Guid 作为我的域类型,希望 NHibernate 会在我的域类型(唯一标识符)和我的列类型(二进制(16))之间自动转换或转换;它没。我目前正在寻找一种方法来强制 NHibernate 将列 c 的所有用法包装在 CONVERT(uniqueidentifier, c) 中。这是可能的还是有其他方法可以做到这一点?
【问题讨论】:
标签: nhibernate fluent-nhibernate