it-swarm.com.de

Entity Framework 6 Fehler Die angegebene Metadatenressource kann nicht geladen werden

Ich verwende Entity Framework 6 und "first model" in meiner Lösung. Ich habe meine "Data Model" -Klassen in ein anderes Projekt aufgeteilt, sodass ich Verweise auf die "Data Model" -Klassen hinzufügen kann, ohne meine "Data Model Contexts" und Connections . Ich möchte mein Entity Data Model-Projekt (insbesondere den DB-Kontext usw.) nicht für meine UI-Schicht verfügbar machen. Ich habe das:

enter image description here

Ich habe nun meine automatisch generierten Entitätsklassen erfolgreich von meinem Datenmodell getrennt. Ich habe versucht, dass dies funktioniert, indem eine Entität oder eine Eigenschaft zu einer Entität hinzugefügt wird, die im Projekt Mapeo.BusinessEntity aktualisiert wird.

Dies ist meine Verbindungszeichenfolge von 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>

In meiner Service-Schicht habe ich diese Verbindungszeichenfolge in die App.config kopiert. Mein Problem ist, wenn ich Daten hinzufügen möchte, die folgende Meldung enthalten: Die angegebene Metadatenressource kann nicht geladen werden. Wie kann ich dieses Problem beheben?

enter image description here

Aktualisiert Ich habe die Lösung gefunden. Ich habe die Verbindungszeichenfolge in App.Config geändert, die Vorgabeschicht, die ich in der Verbindungszeichenfolge "*" für das Verzeichnis von DataModel in meinem Fall (Mapeo.DatabaseModel) ersetzt habe Verbindungszeichenfolge in Layer-Präsentation: 

  <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

Aktualisieren Sie Ihren connectionString mit dem richtigen Pfad, wenn Sie zum Beispiel Metadatendateien laden möchten. Möge es jemand anderem helfen ...

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

Nachdem die Entität erstellt wurde, wenn die Datenbank bearbeitet wurde, funktioniert die Entität nicht

Solange die Entität aktualisiert wird

Auf diese Weise:

 enter image description here

Wenn diese Methode nicht funktioniert hat

Es ist besser zu tun:

  1. Diesen Tag entfernen: <add name="MapeoModelContainer" ...
  2. MapeoModel.edmx entfernen
  3. Hinzufügen von ADO.NET-Entitätsdatenmodell

Dann erstellen Sie mit dem Assistenten eine Verbindung und eine Entität

Wenn diese Methode nicht funktioniert hat, senden Sie entweder Inner exception.

0
M.R.T2017