我想了解为什么实体框架4在EF架构模型和数据库中四舍五入到两位小数时,精度设置为4.当一切都设置为四位十进制时,实体框架以小数点后两位进行舍入
这是十进制场我的一个模式定义:
这是我的数据库定义
CREATE TABLE OrderItems(
....
[SellPrice] [decimal](19, 4) NOT NULL,
....
当我计算了产品的销售价格后,执行我的插入查询,我看到有足够的小数
的MiniProfiler显示我的查询,并将其显示值有小数
DECLARE ...
@15 Decimal = '100,54347826086956521739130435',
...
insert [dbo].[OrderItems](..., [SellPrice], ...)
values (..., @15, ....)
select [OrderItemId]
from [dbo].[OrderItems]
where @@ROWCOUNT > 0 and [OrderItemId] = scope_identity()
但是,当我看到通过Microsoft SQL事件探查器中,SellPrice
四舍五入
exec sp_executesql N'insert [dbo].[OrderItems](..., [SellPrice], ...)
values (..., @15, ...)',
...,@15=100.54,...'
我无法找到值被舍入的位置。
此信息有帮助吗? http://social.msdn.microsoft.com/Forums/en-US/transactsql/thread/c423a005-6a42-4f8d-aab6-e13fe3bdffba – mbeckish 2013-02-19 20:30:30