À l'aide de DateTime propriétés dans le Code-Première Entity Framework et SQL Server

J'ai un exemple de classe book:

public class Book
{
    [Key]
    public int Id { get; set; }
    public string Name { get; set; }
    public DateTime DateAdded { get; set; }
}

Lorsque je tente d'ajouter une nouvelle book à la BookDb contexte...

using (BookDb db = new BookDb())
{
    Book book = new Book {
        Name = "Some name",
        DateAdded = DateTime.Now
    };

    db.Books.Add(book);
    db.SaveChanges();
}

... une erreur est levée:

Système.Les données.SqlClient.SqlException: La conversion d'un datetime2 de données
de type pour un type de données datetime entraîné dans une gamme de valeur. L'
la déclaration a été résilié.


J'ai trouvé que la cause de cela est incompatible datetime types entre .NET et SQL Server. Il est une façon de dire EF à l'utilisation de SQL Server format traditionnel Entity Framework, mais comment puis-je le faire dans Code-Première Entity Framework?

Je suis en utilisant EF4 sur .NET 4 (MVC 3 web app) et SQL Server 2008 Express.

  • Avez-vous de régler l'horloge de votre ordinateur à quelque chose comme l'an 1750 ou plus tôt?
  • Non, le temps est correct.
  • Je n'étais pas grave : -) Voir ma réponse.
InformationsquelleAutor Chad Levy | 2011-11-07