Entity Framework Erreur - La version de SQL Server est en cours d'utilisation ne prend pas en charge le type de données 'datetime2'
Je suis en utilisant Entity Framework 4.0 dans un ASP.NET 4.0 Formulaire Web.
Tout est très bien sur le serveur de développement. Mais quand je rentre sur le serveur de production, j'ai mon Elmah enregistre cette erreur
Système.ArgumentException
La version de SQL Server est en cours d'utilisation ne prend pas en charge
type de données 'datetime2'.
J'ai fait une rapide recherche et découvert que datetime2
aka datetime2(7)
est le problème et la définition ProviderManifestToken="2005"
permettra de résoudre le problème.
Mon problème est le suivant. Mon Serveur de Développement a SQL Server 2008 R2 et du Serveur de Production a SQL Server 2008 Express. Donc, en changeant le manifeste de 2005 ne semble pas juste.
Mes questions sont les
- La mise en
ProviderManifestToken="2005"
travail? - Pourquoi Entity Framework généré un
datetime2
quand je n'ai pas utilisé du tout dans le tout de la table? - Est-il mieux contourner?
OriginalL'auteur naveen | 2011-07-01
Vous devez vous connecter pour publier un commentaire.
Je ne vois aucune solution de contournement jusqu'à la date. Donc, si vous utilisez SQL Server 2008 Express, faites un clic droit sur votre edmx, l'ouvrir avec le XML (Texte) de l'Éditeur et de l'ensemble
ProviderManifestToken="2005"
.N'est pas bon. Mais ses tout ce que j'ai obtenu à partir de maintenant.
OriginalL'auteur naveen
J'ai trouvé la réponse dans ce billet de blog a fonctionné pour moi: La version de SQL Server est en cours d'utilisation ne prend pas en charge le type de données 'datetime2'
OriginalL'auteur Yann Duran
Vient de mettre
DateTime.Now
que la date si vous n'avez pas d'autres...Eu la même erreur et cela a résolu, car, si vous n'avez pas de fixer une valeur pour vos date heure objet, il sera 1/1/0001 12:00:00 AM...cela vous donne l'erreur alors... encore une fois c'est comment j'ai résolu le problème
OriginalL'auteur Ivan Crojach Karačić