web-dev-qa-db-fra.com

Entity Framework 6 Error Impossible de charger la ressource de métadonnées spécifiée

J'utilise Entity Framework 6 et "modèle d'abord" dans ma solution. J'ai séparé mes classes "Modèle de données" dans un autre projet, afin de pouvoir ajouter une référence aux classes "Modèle de données" sans exposer mes "Contextes de modèle de données" et connections . Je ne souhaite pas exposer mon projet Entity Data Model (en particulier le contexte de base de données, etc.) à ma couche d'interface utilisateur. J'ai ceci:

enter image description here

J'ai maintenant réussi à séparer mes classes d'entités générées automatiquement de mon modèle de données. Je l'ai essayé. Cela fonctionne en ajoutant une entité ou une propriété à une entité mise à jour dans le projet Mapeo.BusinessEntity.

Ceci est ma chaîne de connexion de DatabaseLayer (Mapeo.DatabaseModel)

<connectionStrings>
   <add name="MapeoModelContainer" connectionString="metadata=res://*/MapeoModel.csdl|res://*/MapeoModel.ssdl|res://*/MapeoModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=raranibar\ral;initial catalog=Mapeo;user id=sa;password=*****;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
</connectionStrings>

Dans ma couche de service, j'ai copié cette chaîne de connexion dans le fichier App.config. Mon problème est le suivant: je souhaite ajouter des données. Ce message s'affiche: Impossible de charger la ressource de métadonnées spécifiée Comment résoudre ce problème?

enter image description here

Mise à jour J'ai trouvé la solution, j'ai changé la chaîne de connexion dans App.Config la couche de prétentation que j'ai remplacée dans la chaîne de connexion "*" pour le répertoire de DataModel dans mon cas (Mapeo.DatabaseModel). chaîne de connexion dans la présentation de la couche: 

  <connectionStrings>
     <add name="MapeoModelContainer" connectionString="metadata=res://Mapeo.DatabaseModel/MapeoModel.csdl|res://Mapeo.DatabaseModel/MapeoModel.ssdl|res://Mapeo.DatabaseModel/MapeoModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=raranibar\ral;initial catalog=Mapeo;user id=sa;password=scugua;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>
16
raranibar

Mettez à jour votre chaîne de connexion avec le chemin correct si vous avez un problème de chargement de fichiers de métadonnées. Puisse-t-il aider quelqu'un d'autre ...

connectionString="metadata=res://DatabaseModel/MyModel...
2
Francois

Après avoir créé l'entité si la base de données a été modifiée, l'entité ne fonctionne pas

Tant que l'entité met à jour

De cette façon:

 enter image description here

Si cette méthode n'a pas fonctionné

Il vaut mieux faire:

  1. Supprimer cette balise: <add name="MapeoModelContainer" ...
  2. Supprimer MapeoModel.edmx
  3. Ajouter Modèle de données d'entité ADO.NET

Ensuite, utilisez l'assistant pour créer une connexion et une entité

Si cette méthode ne fonctionne pas, envoyez soit Inner exception

0
M.R.T2017