У меня есть пример класса book
:
public class Book
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
public DateTime DateAdded { get; set; }
}
Когда я пытаюсь добавить новый book
в контекст BookDb
...
using (BookDb db = new BookDb())
{
Book book = new Book {
Name = "Some name",
DateAdded = DateTime.Now
};
db.Books.Add(book);
db.SaveChanges();
}
... выдается ошибка:
System.Data.SqlClient.SqlException: преобразование данных datetime2 тип к типу данных даты и времени привел к превышению значения. утверждение завершено.
Я обнаружил, что причиной этого являются несовместимые типы datetime
между .NET и SQL Server. Есть способ сказать EF использовать формат SQL Server в традиционной Entity Framework, но как это сделать в Code-First Entity Framework?
Я использую EF4 для .NET 4 (веб-приложение MVC 3) и SQL Server 2008 Express.