2010-05-17 3 views
2

J'essaye de me connecter à ma base de données PostgreSQL en utilisant Entity Framework. Malheureusement, après avoir généré un modèle en utilisant EdmGen (ou EdmGen2) dans mon fichier SSDL, ProviderManifestToken est défini sur 8.3.7 lorsque dans la version actuelle de Npgsql (2.0.9), il est défini sur 8.1.3. Cela me donne la mise en jachère sauf lorsque vous essayez d'utiliser mon modèle d'entité:Comment résoudre ProviderManifestToken = "8.3.7" et Npgsql ProviderManifestToken = "8.1.3" conflit?

System.Data.MetadataException: schéma spécifié est incorrect. Erreurs: Npgsql.NpgsqlSchema.ssdl (2,52): erreur 0169: tous les artefacts SSDL doivent cibler le même fournisseur. Le ProviderManifestToken '8.1.3' est différent de '8.3.7' qui était rencontré plus tôt.

Des idées pour résoudre ce problème ou générer un modèle avec ProviderManifestToken eq 8.1.3?

S'il vous plaît ne suggèrent pas les connecteurs de bases de données commerciales mon budget ne le permettent pas: P

+0

Il me manque quelque chose, ici. Pourquoi ne pas simplement le changer à la bonne valeur? Est-ce que quelque chose se brise quand vous faites? –

+0

Oui. J'obtiens: Détails d'exception: System.Data.MetadataException: Le schéma spécifié n'est pas valide. Erreurs: erreur 0194: tous les artefacts chargés dans un ItemCollection doivent avoir la même version. Plusieurs versions ont été rencontrées. Probablement je devrais changer certaines des définitions de schémas - mais je ne sais pas exactement: / – kyrisu

Répondre

1
  • Ouvrez votre fichier edmx dans un éditeur de texte.
  • Recherchez le ProviderManifestToken attribut du Edmx/Runtime/StorageModels/schéma élément.
  • S'il est défini sur 8.1.3, remplacez-le par 8.3.7, puis recompilez tout.
Questions connexes