Tôi đang làm việc trên một ứng dụng web asp.net mvc 3 sử dụng phương pháp tiếp cận cơ sở dữ liệu đầu tiên.Entity Framework ánh xạ kiểu dữ liệu float thành double
Tôi có một bảng gọi là Results
có chứa hai cột (min & max
) kiểu float
, nhưng khi tôi sử dụng khung Entity để lập bản đồ cơ sở dữ liệu hiện có vào các lớp mô hình, sau đó EF tạo ra một lớp Results
với kiểu dữ liệu của min & max
các trường là double
thay vì float
như được chỉ định trong cơ sở dữ liệu exsiting.
Vậy tại sao hành vi này lại xảy ra? Nó có gây ra vấn đề gì không?
nhưng tại sao tôi sẽ mất chữ số nếu tôi thay đổi gấp đôi thành fload, tôi đã cố gắng chèn một thứ gì đó như 1.123456789 và nó được lưu trong cơ sở dữ liệu ... –
Bạn có thể mất chính xác vì phao có độ chính xác là 7 , trong khi một đôi có độ chính xác 15-16. Có thể bạn sẽ không cần loại chính xác đó trừ khi bạn đang thực hiện một số tính toán toán học khi cần thiết. http://msdn.microsoft.com/en-us/library/b1e65aza(v=vs.100).aspx http://msdn.microsoft.com/en-us/library/678hzkk9(v=vs .100) .aspx 2 liên kết này dành cho các loại dữ liệu float và double. –