Wie wird nur eine Tabelle für ein Modell aus der Datenbank mit Entity Framework aktualisiert?
Habe ich ein Modell generiert, aus dem db-mit Entity Framework. Wenn ich jede änderung in der Datenbank, ich Modell aus der Datenbank aktualisieren, um die änderung im Modell. Aber dieses update wird angewendet, um alle Entitäten (Tabellen) im Modell.
Nun füge ich eine neue Spalte in einer Tabelle Tab1. Ich möchte nicht Modell aus der Datenbank aktualisieren, wie einige andere änderungen, die ich nicht wollen, gehören im Modell. Ich kann hinzufügen die neue Eigenschaft im Modell für die Einheit Tab1 manuell. dann verursacht mapping-Fehler.
So, ich brauche zu aktualisieren Model.Store
für die Tabelle die neue Spalte. Es bedeutet, dass ich aktualisieren möchten-Modell nur für Tab1
.
Wie kann ich dies tun?
InformationsquelleAutor der Frage KentZhou | 2013-06-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der EDMX-Datei ist eine XML-Datei, die eine Kombination aus 3 verschiedenen teilen, aus denen sich die ganze Sache. Wenn Sie mit der rechten Maustaste auf Ihren EDMX-Datei und wählen Sie "Öffnen mit... " XML-Editor" sehen Sie die 3 verschiedenen Abschnitten:
<edmx:ConceptualModels>
<edmx:StorageModels>
<edmx:Mappings>
Diese Abschnitte können manuell bearbeitet werden, auf eigene Gefahr! 🙂
Auf diese Weise können Sie nur ändern, was Sie benötigen.
Beachten Sie, dass es auch möglich zu generieren CSDL -, SSDL & MSL Dateien, anstatt Sie eingebettet in die Binär-Datei an, indem Sie den "Meta-Artefakt-Verarbeitung" - Eigenschaft des Modells auf "Copy to Output Directory".
Wenn Sie nicht wollen, um dies manuell zu tun, es ist die Huagati DBML/EDMX-tool, es ist kostenlos und Sie können es herunterladen von huagati offizielle Website oder aus visual studio gallery, das ist ein Visual Studio plugin, das Ihnen erlaubt zu wählen, welche änderungen vorgenommen werden müssen.
InformationsquelleAutor der Antwort MaxSC
Verwende ich die folgende (Bedingte) trick. Dies könnte nur geschehen, wenn keine Tabelle hängt von der Tabelle, die Sie aktualisieren möchten.
Vorsorge : Wenn andere bestehende Tabellen geändert haben, in Ihnen, EF aktualisieren würde, diese Veränderungen als gut.
InformationsquelleAutor der Antwort Abhijeet Nagre
Da ist auch ein Weg, es zu tun automatisch.
rechten Maustaste edmx-Datei - > update-Modell von Datenbank - > Registerkarte "Aktualisieren" > Tabellen - > wählen Sie die Tabelle(die Sie aktualisieren möchten) und drücken Sie auf fertig stellen.
InformationsquelleAutor der Antwort user3152641