Gewusst wie: Anpassen der Generierung von Objektebenencode (Entity Data Model Designer)

In diesem Thema wird beschrieben, wie die Objektkontext- und Entitätsklassengenerierung (Objektebenencode) mit dem ADO.NET Entity Data Model-Designer (Entity Designer) und Textvorlagen angepasst werden kann.

Standardmäßig verwendet der Entity Designer das benutzerdefinierte Tool EntityModelCodeGenerator, um Objektebenencode zu generieren (weitere Informationen finden Sie unter Übersicht über generierten Code (Entity Data Model Designer)). Wenn Sie einem Projekt eine Textvorlage hinzufügen, kann der Entity Designer anstelle des standardmäßigen benutzerdefinierten Tools die Vorlage verwenden, um Objektebenencode zu generieren.

Dd456821.note(de-de,VS.100).gifHinweis:
Sie können Befehlszeilentools verwenden, um Objektebenencode mit einer Textvorlage zu generieren.Weitere Informationen finden Sie im Thema zu Befehlszeilentools für Textvorlagen (möglicherweise in englischer Sprache).

Visual Studio stellt zwei ADO.NET-Vorlagen bereit, die den Entity Framework-Objektebenencode generieren: der ADO.NET EntityObject Generator und der ADO.NET-Entitäts-Generator mit Selbstnachverfolgung. Der ADO.NET EntityObject Generator generiert den gleichen Code wie das benutzerdefinierte EntityModelCodeGenerator-Tool. Die Vorlage ADO.NET-Entitäts-Generator mit Selbstnachverfolgung generiert Entitätsklassen, die Zustandslogik für Selbstnachverfolgung enthalten. Verwenden Sie bei der Arbeit mit N-Tier-Anwendungen Entitäten mit Selbstnachverfolgung. Weitere Informationen zu ADO.NET-Vorlagen finden Sie unter Vorlage "ADO.NET EntityObject Generator" und Vorlage "ADO.NET-Entitäts-Generator mit Selbstnachverfolgung".

Für das unten stehende Verfahren wird Folgendes vorausgesetzt:

  • Sie haben ein Visual Basic- oder ein C#-Projekt mit .NET Framework 4 als Ziel in Visual Studio 2010 geöffnet.

  • Sie haben eine EDMX-Datei im Entity Designer geöffnet.

  • Sie sind mit dem Anpassen von Textvorlagen vertraut. Informationen zu Textvorlagen finden Sie unter Generating Artifacts.

So passen Sie die Generierung von Objektebenencode an

  1. Klicken Sie mit der rechten Maustaste auf einen leeren Bereich der Entity Designer-Oberfläche, zeigen Sie auf Neues Codegenerierungselement hinzufügen, und wählen Sie eine verfügbare Vorlage aus. Wenn keine Vorlagen verfügbar sind, wählen Sie im Bereich Installierte Vorlagen den Eintrag Code aus.

    Das Codegenerierungselement fügt dem Projekt eine oder mehrere Textvorlagendateien (.tt) hinzu. Die Textvorlagen generieren Objektebenencode. Die generierten Dateien werden den TT-Dateien hinzugefügt. Wird diese Vorlage nicht geändert, ist der generierte Code mit dem vom Entity Designer generierten Code identisch.

    Wenn Sie dem Projekt die Textvorlage hinzufügen, führt Visual Studio die folgenden Schritte aus:

    • Die Eigenschaft Codegenerierungsstrategie des konzeptionellen Modells wird auf None festgelegt. Dadurch wird die standardmäßige Codegenerierung deaktiviert.

    • Dem Projekt wird eine neue Textvorlagendatei in dem Verzeichnis hinzugefügt, in dem sich die EDMX-Datei befindet.

    • Der Pfad der EDMX-Datei relativ zur Textvorlage wird in die Textvorlage eingefügt. Durch diesen Schritt wird sichergestellt, dass die Textvorlage die richtige EDMX-Datei verarbeitet.

    • Die Textvorlage wird verwendet, um auf Grundlage der EDMX-Datei Code zu generieren. Der generierte Code wird in eine Datei <text_template_name>.cs oder <text_template_name>.vb geschrieben. Die Datei wird als abhängige Datei der Vorlagendatei im Projektmappen-Explorer hinzugefügt.

  2. Öffnen Sie die Textvorlage, und bearbeiten Sie sie.

  3. Speichern Sie die bearbeitete Textvorlagendatei.

    Wenn Sie die Textvorlagendatei speichern, wird der Objektebenencode entsprechend der bearbeiteten Textvorlagendatei erneut generiert.

Die Generierung von Objektebenencode für eine EDMX-Datei wird standardmäßig beim Speichern der EDMX-Datei ausgelöst. Manuelle Änderungen an den <text_template_name>.cs- oder <text_template_name>.vb-Codedateien werden nicht beibehalten. Wenn einer EDMX-Datei mehrere Textvorlagendateien zugeordnet sind, werden beim Speichern der EDMX-Datei alle zugeordneten Codedateien erneut generiert. Dieses Verhalten kann jedoch geändert werden. Wenn Sie die Eigenschaft Zugehörige Textvorlagen beim Speichern umwandeln des konzeptionellen Modells auf false festlegen, werden Codedateien beim Speichern der Datei nicht erneut generiert.

Wenn Sie das Modell und die TT-Dateien in separate Projekte teilen, sollten Sie die Codegenerierung stets manuell ausführen, wenn Sie eine EDMX-Datei oder eine TT-Datei ändern. Klicken Sie dazu im Projektmappen-Explorer auf Alle Vorlagen transformieren. Im Thema Walkthrough: Serialize Self-Tracking Entities wird veranschaulicht, wie das Modell und die TT-Dateien in separate Projekte geteilt werden.

Siehe auch

Konzepte

Übersicht über die EDMX-Datei (Entity Framework)

Weitere Ressourcen

ADO.NET Entity Data Model-Tools