2009-06-23 8 views
0

J'ai réalisé qu'un type de données de serveur sql de petite taille a été mappé à un datetime dans mon projet d'entité. Cela me convient. Lorsque l'entité enregistre des modifications, elle utilise en fait un type de données datetime2 (que notre base de données de production ne prend actuellement pas en charge). Maintenant, c'est un problème. En regardant le code du concepteur d'entité, je vois que la propriété utilise l'objet date de VB bien que la fenêtre de propriétés l'affiche en tant que datetime. Je préférerais ne pas changer le code d'entité car je ne veux pas que les mises à jour de la base de données écrasent mes modifications en créant un désordre de maintenance de code.Mappages de types de données datetime Framework Entity

D'où vient le datetime2? Des idées?

Merci à l'avance pour toute aide, Orry

Répondre

4

gens Ok, qui le fixe. Étant donné que l'entité mettait à jour les références d'une base de données sql 2008, ProviderManifestToken est défini sur 2008. L'ouverture du fichier edmx dans l'éditeur xml et la modification de la valeur en 2005 ont résolu notre problème.

+0

Merci! C'était une classe - une douleur dans le cul pour trouver une solution. –

1

Qu'est-ce que le SSDL disent que la propriété est?

Ouvrez le fichier EDMX à l'aide d'un éditeur XML (celui de VS est assez bonne)

Regardez maintenant dans l'élément StorageModels pour la colonne en question. Le 'type' de la propriété dans la section SSDL est le type que EntityFramework considère comme la colonne de base de données. Je pense que ça va dire DateTime2. Vous devriez être capable de revenir à quelque chose comme DateTime.

Hope this helps

Alex

+0

Salut Alex, Merci pour la réponse. Le type affiché est DateTime. Le sql produit utilise datetime2. Notre dev db (sql 2008) le supporte mais notre production n'a pas encore été mise à jour. Ce sera dans un très proche avenir, mais nous voulons que ce code sur la production avant la main (d'où le problème). Quoi qu'il en soit, nous avons essayé de changer le fichier manifest pour utiliser le mappage de la version 2005 du serveur SQL au lieu de 2008. Jusqu'à présent, sans succès. – Orry

Questions connexes