2011-07-21 28 views
11

Tôi đang truy vấn EDM bằng cách sử dụng SQL thực thể và mất chính xác mili giây trên các giá trị DateTime của tôi. Ví dụ: 2011/7/20 12: 55: 15.333 PM được thay đổi thành 2011/7/20 12: 55: 15.000 PM.Khung thực thể mất chính xác Sql DateTime

Tôi đã xác nhận rằng trong SQL mili giây được ghi chính xác.

Có thuộc tính một chính xác tôi có thể áp dụng trong các tập tin XML .edmx, nhưng tôi không biết những gì sắp xếp các giá trị phải mất,

 <Property Name="Timestamp" 
       Type="DateTime" 
       Nullable="false" 
       Precision="???" /> 

Có ai biết làm thế nào để sử dụng thuộc tính chính xác này?

Cảm ơn.

Trả lời

8

Nó phụ thuộc vào phiên bản SQL Server ... see http://seesharper.wordpress.com/2008/07/08/sql-server-datetime-vs-net-datetime-battle-of-accuracy/

Nếu đó là SQL Server 2008 thay đổi các kiểu dữ liệu trong DB để datetime2 và sau đó cập nhật các mô hình từ DB.

Nếu không, bạn có thể đặt Độ chính xác thành 3 (3 chữ số cho phần phân đoạn, xem http://msdn.microsoft.com/en-us/library/cc716737.aspx).

+0

Đây là SQL Server 2008 Express (R2). Nhưng tôi không thể thay đổi cơ sở dữ liệu vì nó không thuộc về dự án của tôi. Đó có phải là giải pháp duy nhất không? –

+0

bạn có thể đặt 3 vào "Chính xác" ... nhưng chỉnh sửa .edmx là một thực tế không tốt! – Yahia

+0

Ok - cảm ơn. Độ chính xác "3" hoạt động, mặc dù tôi phải chuyển sang sử dụng hàm .GetDateTime (int thứ tự) ngoài EntityDataReader. –

Các vấn đề liên quan