Entity Framework - DEV-Ansätze
In diesem Kapitel konzentrieren wir uns darauf, Modelle mit dem Designer oder der Datenbank zuerst zu erstellen oder nur Code zuerst zu verwenden. Im Folgenden finden Sie einige Richtlinien, anhand derer Sie entscheiden können, welchen Modellierungsworkflow Sie auswählen möchten.
Wir haben bereits Beispiele für Code First-Modellierung, Database First-Modellierung und einen Model First-Modellierungsworkflow gesehen.
Die Workflows "Database First" und "Model First" verwendeten den Designer, aber einer beginnt mit der Datenbank, um ein Modell zu erstellen, und der andere beginnt mit dem Modell, um eine Datenbank zu erstellen.
Für Entwickler, die Visual Designer plus Codegenerierung nicht verwenden möchten, bietet Entity Framework einen völlig anderen Workflow namens Code First.
Der typische Workflow für Code First eignet sich hervorragend für brandneue Anwendungen, in denen Sie nicht einmal über eine Datenbank verfügen. Sie definieren Ihre Klassen und Ihren Code und lassen Code First herausfinden, wie Ihre Datenbank aussehen soll.
Es ist auch möglich, Code First mit einer Datenbank zu starten, was Code First zu einem Widerspruch macht. Es gibt jedoch ein Tool, mit dem Sie eine Datenbank in Klassen zurückentwickeln können. Dies ist eine hervorragende Möglichkeit, einen Vorsprung bei der Codierung zu erlangen.
Schauen wir uns angesichts dieser Optionen den Entscheidungsbaum an.
Wenn Sie lieber mit einem Visual Designer in generiertem Code arbeiten möchten, sollten Sie einen der Workflows auswählen, an denen EF Designer beteiligt ist. Wenn Ihre Datenbank bereits vorhanden ist, ist Database First Ihr Pfad.
Wenn Sie einen Visual Designer für ein brandneues Projekt ohne Datenbank verwenden möchten, sollten Sie Model First verwenden.
Wenn Sie nur mit Code und nicht mit einem Designer arbeiten möchten, ist Code First wahrscheinlich genau das Richtige für Sie, zusammen mit der Option, das Tool zu verwenden, mit dem die Datenbank in Klassen zurückentwickelt wird.
Wenn Sie bereits Klassen haben, ist es am besten, diese mit Code First zu verwenden.