2011-01-09 6 views
1

Ich plane, eine Webanwendung mit ASP MVC3 zu erstellen, die auf Azure mit einem SQL Azure-Back-End ausgeführt wird. Ich möchte den Microsoft-Stack verwenden und habe nicht vor, jemals auf einen anderen Stack umzusteigen. Ich schaue auf die Verwendung von WCF und WF, aber das wäre in der Zukunft.EF4, MVC 3, Azure und Code First oder traditionell

Ich schaute auf den traditionellen und Code First-Ansatz zur Verwendung von Entity Framework, aber ich kann nicht sehen, ob es einen Vorteil bei der Verwendung des einen oder anderen Ansatzes gibt. Sicher haben sie Vorteile, aber für mich ist es mir egal, ob meine Klassen von EF-Klassen erben. Ich möchte nur die effizienteste Lösung finden.

Kann jemand da draußen mir einen Rat geben, welcher Ansatz der beste sein könnte.

Dank sehr viel

Richard

Antwort

0

ich mit Code Erster Ansatz gehen würde.

Dieser tolle blog post von Scott Guthrie erklärt seine Vorteile.

+0

Vielen Dank für die Zeit nehmen, um zu antworten und das hinzufügen Verknüpfung. Ich habe das bereits gelesen, zusammen mit fast allem auf CodeFirst. So viele Leute sagen, wie gut es ist, aber ich bin mir nicht sicher, ob das auf meine Situation zutrifft. Was ich wirklich gerne wissen würde, ist der Vorteil, KEIN Code zuerst zu benutzen. – RichardAlanA

1

Das ist wirklich eher eine Frage Meinung Sammeln und gehört wahrscheinlich mehr auf die Programmierer Website von Stack, aber ich werde einen Stich nehmen:

Ich bin auf jeden Fall ein traditioneller Ansatz Art-of-a-Typ. Für mich sind Daten der Schlüssel. Es ist sehr wichtig. Verschiedene Objekte, Schichten, Anwendungen, Dienste kommen, gehen und entwickeln sich. Aber Daten bleiben dran. Deshalb entwerfe ich zuerst meine Datenbanken. Nach meinen Erfahrungen waren Daten immer König.

0

Code zuerst für mich auch. Wenn Sie plötzlich anfangen, Entity Framework zu hassen und zu NHibernate wechseln wollten, werden Sie viel weniger Arbeit an Ihren Händen haben.

Außerdem gibt es eine sauberere Trennung von Bedenken, indem Ihre Domänenebene vollständig von Ihrer Datenzugriffsebene isoliert wird.

Ich bin nicht 100% sicher, es gilt immer noch, aber ich denke, die Code-Generierung, Teilklasse Malarky Entity Framework kann Probleme beim Testen verursachen.

Habe ich zuerst Code erwähnt, ist viel weniger Aufwand.

0

Code First ist ein "Architecturally correct" -Ansatz, aber die Realität neigt dazu, sich auf diesen Dingen zu unterscheiden, wenn man Aufwand, Wert und Entwicklungsgeschwindigkeit berücksichtigen muss.

Der Ansatz "Model First" ist viel schneller und einfacher zu warten. Datenbankänderungen werden mit einem einfachen Rechtsklick "Regen aus der Datenbank" propagiert, es entstehen keine merkwürdigen Fehler in Ihrem Code, wenn Sie vergessen, einen Eigenschaftsnamen oder -typ zu ändern.

Nachdem gesagt, dass Sie ein wenig von beiden mit der neuen POCO-Unterstützung in EF4 haben können. Sie können die Abhängigkeiten von Basisklassen zu entfernen, während gleichzeitig die Werkzeuge Modellierung verwenden:

Viele gute Links zu diesem Thema:

Entity Framework 4/POCO - Where to start?

Verwandte Themen