System.Math メソッド (LINQ to SQL)
更新 : November 2007
LINQ to SQL は、次の Math メソッドをサポートしていません。
.NET との相違
.NET Framework で使用される丸めセマンティクスは SQL Server とは異なります。.NET Framework の Round メソッドは銀行型丸めを実行します。銀行型丸めでは、.5 で終わる数値は次の桁に切り上げられるのではなく、最も近い偶数になるように丸められます。たとえば、2.5 は 2 に丸められ、3.5 は 4 に丸められます (この方法により、大規模なデータ トランザクションで値が大きくなる方向へ系統的にバイアスがかかることが避けられます)。
SQL では、ROUND 関数は常に 0 から遠ざかる向きで丸めを実行します。したがって、2.5 は 3 に丸められます。2 に丸められる .NET Framework とは対照的です。
LINQ to SQL は、SQL の ROUND セマンティクスに到達するため、銀行型丸めを実装しようとしません。