将SQL Server 2012与浮动列一起使用我的问题类似于NHibernate: Wrong column type: found float, expected double precision,但对于C#单一问题。但是,如果我在自定义方言中将列类型注册为FLOAT(24),我会得到`Found:float,Expected REAL'。
简而言之,如果我没有RegisterColumnType
它找到float
并想要REAL
,如果我RegisterColumnType
它找到了真实并希望浮动。
有没有人见过这个问题并且能够修复它?
答案 0 :(得分:1)
在测试数据库上查看NHibernate生成的模式并阅读SQL服务器文档后,找到了我的问题的答案。
我的本地数据库有一个类型为real
的列,生产数据库有一个类型为float
的列。 real
是FLOAT(24)
,而float
(据我从文档中理解)实际上是FLOAT(53)
。这意味着C#类型应为double
,这意味着链接的问题将回答如何处理它。决定将数据库列更改为real
,然后在没有任何方言修改的情况下工作。