Utilisation de SQL Server 2008 et SQL Server 2005 et de l'heure

datetime datetime2 entity-framework sql-server-2005 sql-server-2008

Question

J'ai construit un modèle de structure d'entité par rapport à une base de données de 2008. Tout fonctionne bien contre la base de données 2008. Lorsque j'essaie de mettre à jour l'entité sur une base de données 2005, j'obtiens cette erreur.

The version of SQL Server in use does not support datatype 'datetime2

En particulier, je n’ai utilisé aucune fonctionnalité de 2008 lors de la construction de la base de données. Je ne trouve aucune référence à datetime2 dans le code. Et, oui, la colonne est définie comme "datetime" dans la base de données.

Réponse acceptée

Un rapide Google me renvoie à ce qui ressemble à la solution .

Ouvrez votre EDMX dans un éditeur de fichier (ou "ouvrez avec" dans Visual Studio et sélectionnez Éditeur XML). En haut, vous trouverez le modèle de stockage et son attribut ProviderManifestToken. Cela devrait avoir la valeur 2008. Changez-le en 2005, recompilez et tout fonctionne.

REMARQUE: vous devrez le faire chaque fois que vous mettrez à jour le modèle à partir de la base de données.


Réponse populaire

Aperçu rapide de la ligne:

<Schema Namespace="Foobar.Store" Alias="Self" Provider="System.Data.SqlClient" ProviderManifestToken="2005" >


Related

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