如何使用 Fluent nHibernate 将 UInt64 字段映射到decimal(20, 0) 列?
我正在使用
- MS SQL Server 2008R2
- Fluent nHibernate 1.3
- nHibernate 3.2
我的域中有一个 UInt64 字段,可能会占用整个 UInt64 范围。由于 MS-SQL 不支持无符号整数,我们决定将其存储在 decimal(20,0)
列中(至少目前如此)。我已尝试在映射中的该列上使用 CustomSqlType("decimal(20, 0)")
但当我尝试访问该字段时仍然收到错误,提示数据库没有不支持 UInt64。
如何使用 Fluent nHibernate 将 UInt64 字段映射到decimal(20, 0) 列?
我尝试过
- CustomSqlType("Decimal").Precision(20).Scale(0)
- CustomSqlType("decimal(20, 0)")
- CustomType() 以及 CustomSqlType 和 CustomType 的排列。
编辑 它给出的错误是“不存在从 DbType UInt64 到已知 SqlDbType 的映射”。
编辑2 这适用于写入端,但在读回值时会因无效转换而中断
.CustomSqlType("decimal").Precision(20).Scale(0)
.CustomType<NHibernate.Type.DoubleType>()
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我会选择用户类型
编辑:抱歉忘记注意。我有很多用户类型,所以我实现了自己的基类
i would go with a user type
Edit: sorry forgot to note. i have a lot of usertypes so i implemented my own baseclasses