Ich habe mir einige Videos und Tutorials für EF 4.1 angeschaut, und ich verstehe keinen Vorteil von CodeFirst (außer einige, wenn DB 3-4 Tabellen sehr klein ist und ich faul bin, DB zuerst zu erstellen).
Meistens ist der beste Ansatz bisher, Datenbank in einem Datenbank-Editor zu erstellen, der sicher schneller ist als das Bearbeiten im Entity Model und EF alle Beziehungen aufgreift und Assoziationen korrekt erstellt. Ich weiß, dass es Herausforderungen in der Namenskonvention gibt, aber ich finde es sehr verwirrend, Code First zu verwalten, da alles wie Code aussieht und es zu viel Code ist.
Was kann CodeFirst tun und Db kann das zuerst nicht?
CodeFirst kann nichts tun, was die DB zuerst nicht kann. Am Ende des Tages verwenden beide das Entity Framework.
Die wichtigsten Vorteile von codefirst sind:
Weitere Informationen finden Sie unter Code-First vs Model / Database -erste und hier Code-First oder Database-First, wie wählt man?
Ausgehend von einem DataCentric-Ansatz werde ich es immer seltsam finden, dass die Leute es gerne in einem Code-First-Ansatz schaffen. Wenn ich meine Datenbank entwerfe, denke ich bereits darüber nach, was jede der Tabellen ist, als wären sie sowieso Klassen. Wie sie sich verbinden und wie die Daten fließen. Ich kann das ganze System durch die Datenbank abbilden.
Ich habe immer gelernt, dass du von Grund auf arbeitest, deine Grundlagen richtig machst und alles andere folgt. Ich erstelle viele, viele verschiedene Systeme für viele verschiedene Firmen und die Geschwindigkeit, die ich dafür verwende, basiert auf der Tatsache, dass ich, sobald ich ein starkes Datenbankmodell habe, meinen benutzerdefinierten Code-Generator ausführe, der die Ansichten / Stored Procedures erstellt sowie meinen Controller / BusinessLayer / DataLayer für mich, Setzen Sie all diese zusammen und alles, was ich tun muss, ist das Frontend zu erstellen.
Wenn ich zuerst das gesamte System in Code erstellen müsste, um die Datenbank zu generieren, sowie alle anderen Elemente, dann würde ich es viel länger dauern. Ich sage nicht, dass ich in irgendeiner Hinsicht recht habe, und ich bin mir sicher, dass es wahrscheinlich schnellere und erfahrenere Wege zur Entwicklung von Systemen gibt, aber bis jetzt habe ich noch keine gefunden.
Danke, dass du mich sprechen lässt, und ich hoffe, dass meine Ansichten ein wenig geholfen haben.
Die Migration wurde in EntityFramework 4.3 für CodeFirst aktiviert Sie können Änderungen am Modell problemlos nahtlos in die Datenbank übernehmen Referenz 1
detailliertes Video: Complete Reference Video
Nun, es hängt von Ihrem Projekt ab. Ich werde versuchen, eine Synthase einige Ideen zu machen:
Tags und Links entity-framework-4.1 ef-database-first ef-code-first