Ändern Sie das Entity Framework-Datenbankschema zur Laufzeit

In den meisten asp.net-Anwendungen können Sie den Datenbankspeicher ändern, indem Sie die Verbindungszeichenfolge zur Laufzeit ändern. Das heißt, ich kann von einer Testdatenbank zu einer Produktionsdatenbank wechseln, indem ich einfach den Wert des Felds "database" in der Verbindungszeichenfolge ändere

Ich versuche, das Schema (aber nicht unbedingt die Datenbank selbst) mit Entity Framework zu ändern, aber kein Glück.

Das Problem, das ich sehe, ist das, dass der SSDL-Inhalt in der edmx-xml-Datei das speichertSchema für jedes Entityset.

siehe unten

<EntitySet 
    Name="task" 
    EntityType="hardModel.Store.task" 
    store:Type="Tables" 
    Schema="test"  />

Jetzt habe ich den Wert des Schemaattributs vom Test auf "prod" geändert und es funktioniert.

Dies scheint jedoch keine gute Lösung zu sein.

Ich muss evert Entity Set sowie gespeicherte Prozeduren aktualisieren (ich habe +50 Tabellen)Kann ich das nur mal kompilieren?Wenn ich dann versuche, die bereits vorhandenen Entitätsmodell-Entitäten später zu aktualisieren, werden sie gelesen, da EF nicht erkennt, dass die Tabelle bereits in der EDM vorhanden ist.

Irgendwelche Gedanken?

Antworten auf die Frage(8)

Ihre Antwort auf die Frage