3

SQL 2008 R2 に Decimal(35,18) 型の null 許容列を持つテーブルがあり、それを edmx にプルするとします。Conversion Overflows エラーが発生せずに DB に正常に保存できる最大の 10 進数値は次のとおりです。

79,228,162,514

これは Decimal の上限と一致するため、非常に奇妙です (実際の値ではない数字を比較する場合)。

http://msdn.microsoft.com/en-us/library/system.decimal.maxvalue.aspx

79,228,162,514,264,337,593,543,950,335

ただし、最大 28 桁にも達していません。

私は信じているのでバグを報告しました...しかし、これが巨大な問題になるとは信じられませんか?

http://entityframework.codeplex.com/workitem/522

4

1 に答える 1

1

これは仕様によるものです。

スケール 18 を指定したため、79,228,162,514 が解釈され、79,228,162,514,000,000,000,000,000,000 x 10^-18 として格納されます

整数部分をこれ以上増やすと、CLR 10 進数の MaxValue 79,228,162,514,264,337,593,543,950,335 よりも大きくなります。

于 2012-10-08T20:56:28.947 に答える