2012-02-27 35 views
7

Tôi có mô hình cơ sở dữ liệu được định cấu hình để sử dụng định dạng datetime2 thay vì chỉ là datetime. Khi cơ sở dữ liệu được tạo ra, tất cả các cột ngày tháng đều là datetime và không phải datetime2. Đây là mã cấu hình cột của tôi;Khuôn khổ thực thể 4.3 Mã đầu tiên không thể tạo datetime2?

Property(a => a.LastOpened) 
    .HasColumnOrder(++index) 
    .HasColumnType("datetime2") 
    .HasPrecision(0) 
    .IsRequired(); 

Tôi có thể thề rằng nó hoạt động trong phiên bản trước của EF như 4.1 nhưng tôi không hiểu tại sao nó không hoạt động. Tôi đang kết nối với SQL Server 2008 R2 ...

Bất kỳ trợ giúp nào sẽ được đánh giá cao!

Cảm ơn bạn!

Trả lời

8

Từ ADO.NET team blog:

Vấn đề được Biết

[...]

  • Không phải tất cả cứng mã hóa các kiểu dữ liệu cột được vinh danh trong tạo cơ sở dữ liệu. Nếu bạn sử dụng chú thích dữ liệu Cột hoặc phương pháp HasColumnType Fluent API để mã cứng loại dữ liệu cột (ví dụ: xml, tiền, v.v.), loại dữ liệu này không được sử dụng khi tạo cơ sở dữ liệu. Chúng tôi sẽ bao gồm bản sửa lỗi cho sự cố này trong bản phát hành bản vá 4.3.1.

Cập nhật

Các EF4.3.1 vá bây giờ đã có. EF4.3.1 and EF5 Beta 1 Available on NuGet

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