System.Math 方法 (LINQ to SQL)
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,相比之下,它在 .NET Framework 中则舍入为 2。
LINQ to SQL 遵照 SQL ROUND 语义,因而不会尝试执行“四舍六入五成双”。