Tôi đang cố gắng hiểu tại sao Entity Framework 4 làm tròn đến hai số thập phân khi trong cả mô hình lược đồ EF và trong cơ sở dữ liệu, độ chính xác được đặt thành 4.Entity Framework làm tròn bốn số thập phân
Đây là định nghĩa giản đồ của tôi cho một trong những lĩnh vực thập phân:
Đây là định nghĩa cơ sở dữ liệu của tôi
CREATE TABLE OrderItems(
....
[SellPrice] [decimal](19, 4) NOT NULL,
....
Khi tôi thực hiện truy vấn chèn của tôi sau khi tính toán giá bán của sản phẩm, tôi thấy rằng có đủ số thập phân
Các MiniProfiler hiển thị truy vấn của tôi và nó sẽ hiển thị rằng giá trị có số thập phân của nó
DECLARE ...
@15 Decimal = '100,54347826086956521739130435',
...
insert [dbo].[OrderItems](..., [SellPrice], ...)
values (..., @15, ....)
select [OrderItemId]
from [dbo].[OrderItems]
where @@ROWCOUNT > 0 and [OrderItemId] = scope_identity()
Nhưng khi tôi xem xét thông qua Microsoft SQL Profiler, các SellPrice
được làm tròn
exec sp_executesql N'insert [dbo].[OrderItems](..., [SellPrice], ...)
values (..., @15, ...)',
...,@15=100.54,...'
Tôi gặp khó khăn khi tìm giá trị đang được làm tròn.
Bài đăng này có hữu ích không? http://social.msdn.microsoft.com/Forums/en-US/transactsql/thread/c423a005-6a42-4f8d-aab6-e13fe3bdffba – mbeckish