System.Math 方法 (LINQ to SQL)
更新: November 2007
LINQ to SQL 不支援下列 Math 方法。
與 .NET 的差異
.NET Framework 使用的捨入語意 (Semantics) 與 SQL Server 不同。.NET Framework 中的 Round 方法會執行「四捨六入五成雙」(Banker's Rounding),將結尾為 .5 的數字捨入或進位為最接近的偶數,而不是下一個較高的位數。例如,2.5 會捨入為 2,而 3.5 會進位為 4 (當資料交易很大時,此法有助於避免系統性地偏向較高位數的值)。
在 SQL 中,ROUND 函式則會一律往遠離 0 的方向捨入。因此 2.5 會捨入為 3,這與 .NET Framework 中捨入為 2 相反。
LINQ to SQL 會採用 SQL ROUND 語意,不會嘗試實作 Banker's Rounding (四捨六入五成雙)。