我正在使用NHibernate映射代码在服务器(SQL Server 2008)和客户端(SQL Server CE 3.5)上创建表。
这一栏
Property(x => x.Latitude, c =>
{
c.Precision(10);
c.Scale(8);
c.NotNullable(false);
});
在生成decimal(10,8)
。
但是在SQL Server CE客户端上它会生成numeric(19,0)
?我在这里的映射中做错了吗?我正在使用NHibernate 3.3.2。
答案 0 :(得分:0)
在NHibernate Jira跟踪器中提出了一个问题。
现在的解决方法是在DB中使用实际类型:
Property(x => x.Longitude, c =>
{
c.Column(x => x.SqlType("real"));
c.NotNullable(false);
});
Property(x => x.Latitude, c =>
{
c.Column(x => x.SqlType("real"));
c.NotNullable(false);
});
C#属性仍为十进制。
答案 1 :(得分:0)
此问题现已解决(NHibernate 3.3.3) 详细信息可以在这里找到: https://nhibernate.jira.com/browse/NH-2979