Tôi đang sử dụng API DbContext và Code First được giới thiệu với Entity Framework 4.1.
Các mô hình dữ liệu sử dụng các kiểu dữ liệu cơ bản như string
và DateTime
. Chú thích dữ liệu duy nhất tôi đang sử dụng trong một số trường hợp là [Required]
, nhưng đó không phải là bất kỳ DateTime
thuộc tính nào. Thí dụ:
public virtual DateTime Start { get; set; }
Lớp con DbContext cũng đơn giản và trông giống như:
public class EventsContext : DbContext
{
public DbSet<Event> Events { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Event>().ToTable("Events");
}
}
Trình khởi tạo đặt ngày trong mô hình thành các giá trị hợp lý trong năm nay hoặc năm sau.
Tuy nhiên, khi tôi chạy trình khởi chạy, tôi gặp lỗi này tại context.SaveChanges()
:
Việc chuyển đổi kiểu dữ liệu datetime2 thành kiểu dữ liệu datetime dẫn đến giá trị ngoài phạm vi. Các tuyên bố này đã bị chấm dứt.
Tôi không hiểu tại sao điều này lại xảy ra bởi vì mọi thứ rất đơn giản. Tôi cũng không chắc chắn cách khắc phục vì không có tệp edmx để chỉnh sửa.
Có ý kiến gì không?