以下问题在 ASP.NET MVC 4 中的 Web API 应用程序上运行,该应用程序由 Fluent NHibernate在SQL Server 2008 R2中连接。
所以我有这个表格可以存储一个十进制数,可以保存一个值到 15 个整数和 14 个小数位。数据库列被定义为decimal(29,14)
映射属性Map((x) => x.Factor).Column("FACTOR").Precision(29).Scale(14).Not.Nullable()
。
该字段的数据应包含此掩码中的任何值999999999999999.99999999999999
,但事实并非如此。该数字会导致OverflowException。我相信这是因为数量限制,在其参考资料中有所描述:C# and SQL Server。
我真的不明白这个表示法-7.9x1028 to 7.9x1028
(来自 C# 参考)或-10^38 +1 to 10^38 -1
(来自 SQL Server 参考),但我认为限制数字的是 SQL Server 小数,因为错误发生在事务提交操作上。ViewModel 显示正确的数字。
为了接受应用程序值,我需要在表格列上设置什么精度/比例?