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:
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="data source=raranibar\ral;initial catalog=Mapeo;user id=sa;password=*****;MultipleActiveResultSets=True;App=EntityFramework"" 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?
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="data source=raranibar\ral;initial catalog=Mapeo;user id=sa;password=scugua;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
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...
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:
Wenn diese Methode nicht funktioniert hat
Es ist besser zu tun:
<add name="MapeoModelContainer" ...
Dann erstellen Sie mit dem Assistenten eine Verbindung und eine Entität
Wenn diese Methode nicht funktioniert hat, senden Sie entweder
Inner exception
.