Frage

Ich verwende das Code-First-Muster in Entity Framework v4.1. Eines der Dinge, die ich begegnet bin und das wirklich seltsam aussieht, ist, dass die Datenbank nur dann fallen gelassen und neu erstellt wird. Dies ist sehr unordentlich, da jedes Mal das Ablegen und Nachbau der Datenbank keine ideale Lösung ist. Alle meine Testdaten und alles gehen verloren. Ich weiß, dass es eine Methode namens Seed gibt, und Sie können Testdatensätze einfügen, um dort einzufügen. Es kann jedoch nur wenige 100er Testerdatensätze geben und es ist nicht realisierbar, jede einzelne Datensätze in die Saatgutmethode zu setzen. Gibt es eine andere Alternative dazu? Ich hätte Code-First überhaupt nicht verwendet, aber es ist obligatorisch, es im Projekt zu verwenden.

War es hilfreich?

Lösung

Nein, es gibt derzeit keine andere Methode und EF selbst wird wahrscheinlich nie mehr unterstützen, als sie fallen / neu erstellen. Die Art und Weise, wie ADO.NET -Team ausgewählt wurde, wird separates Tool für das Datenbank -Upgrade verwendet Migrationen. Migrationen sind derzeit nur verfügbar, da CTP = nicht für die echte Verwendung geeignet ist, sondern für das Testen und Sammeln von Feedback an das EF -Team.

Als Problemumgehung können Sie ein externes Datenpopulationsskript haben und es aus Saatgut nennen - es ist viel einfacher für die Wartung.

Andere Tipps

Sie können EF einrichten, um nur zu versuchen, Ihre Datenbank zu ändern, wenn sie noch nicht vorhanden ist.

Database.SetInitializer<YourDataContext>(new CreateDatabaseIfNotExists<YourDataContext>());
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top