Comment gérer GetDate () avec Entity Framework

entity-framework sql-server-2008

Question

J'ai une colonne comme celle-ci dans l'une de mes tables de base de données

DateCreated, datetime, default(GetDate()), not null

J'essaie d'utiliser Entity Framework pour faire un insert sur cette table comme ceci ...

        PlaygroundEntities context = new PlaygroundEntities();

        Person p = new Person
        {
            Status = PersonStatus.Alive,
            BirthDate = new DateTime(1982,3,18),
            Name = "Joe Smith"
        };

        context.AddToPeople(p);
        context.SaveChanges();

Quand je lance ce code, j'obtiens l'erreur suivante

The conversion of a datetime2 data type to a datetime data type resulted in an out-of-range value.\r\nThe statement has been terminated.

J'ai donc essayé de définir StoreGeneratedPattern pour calculer ... la même chose, puis l'identité ... la même chose. Des idées?

Réponse acceptée

Changer le type de DateCreated en datetime2 pourrait résoudre le problème.

datetime 2007-05-08 12: 35: 29.123

datetime2 2007-05-08 12:35:29. 12345

Réf.: Http://technet.microsoft.com/en-us/library/bb677335.aspx67


Réponse populaire

Vous devez modifier manuellement le fichier XML edmx et définir vos attributs SSDL StoreGeneratedPattern sur identité ou calculés. Mais chaque fois que vous mettez à jour votre edmx via le concepteur, vos modifications sont écrasées.

C'est un problème connu. Veuillez consulter les liens suivants pour plus de détails:

Ticket Microsoft Connect

Utilisation d'un GUID comme EntityKey dans Entity Framework 4



Related

Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow