2009-07-02 1 views
2

In frühen Entwicklungsstadien unterliegt die Datenbank ständigen Änderungen. Ich spiele mit LinqToSQL herum und in den meisten Fällen ist das Entity Model nur eine 1: 1 Darstellung der DB.Wie Entity Framework und Datenbank ausgerichtet bleiben

Wie kann ich das Modell mit den db-Änderungen auf dem neuesten Stand halten?

Danke.

Antwort

1

Müsste etwas tun, was erklärt wird here. Aber persönlich bevorzuge ich das Entity-Framework (ADO.net-Entitäten werden standardmäßig unterstützt und können mit einem einfachen Klick mit der rechten Maustaste aktualisiert werden).

// bearbeiten

Es scheint, dass ein einfaches Drag & Drop auch funktionieren wird.

Für einige Leute ist diese Frage Moot. Es ist leicht genug, um den aktuellen „resync“ Mechanismus in LINQ to SQL zu nutzen, indem sie alle Entitätsklassen und Funktionen zu löschen (die LINQ to SQL Begriff für sprocs und UDF) auf der Designer Oberfläche und dann redragging und die dropping Tabellen und Funktionen von Interesse, so aktualisiert die Entität Klassen durch Neugenerierung von Grund auf neu. jedoch für andere, diese Lösung ist nicht gut genug für ein paar Gründe:

, die Sie here.

lesen
1

Ich habe festgestellt, dass ein Befehl "Update-Modell aus Datenbank" verfügbar ist, wenn Sie mit der rechten Maustaste auf die Designoberfläche von Entity Framework klicken. Ich konnte so etwas für LINQ to SQL nicht finden, also müssen Sie möglicherweise von Hand pflegen.

OTOH, es ist nur XML, also könnten Sie "nur etwas Code schreiben".


Die andere Sache hinzuzufügen ist, dass ich die Tatsache, dass es vorziehen, in EF, ich weiß nicht - haben mit der physischen Datenbank aktuell halten. Ich definiere die Entitäten, die Entwickler verwenden, um auf die Daten zuzugreifen, und separat definiere ich die Zuordnung zwischen diesen Entitäten und der logischen Datenbankstruktur.

Sie müssen nicht gleich sein. Wenn ich eine Tabelle in zwei teilen oder zwei Entitäten in einer Tabelle kombinieren möchte, kann ich dies tun, ohne dass Entwickler ihren Code neu schreiben müssen.