Designer-Vorlagen für die Codegenerierung

Bei der Erstellung eines Modells mit dem Entity Framework Designer werden die Klassen und der abgeleitete Kontext automatisch für Sie generiert. Zusätzlich zur Standardcodegenerierung bieten wir auch verschiedene Vorlagen, mit denen sich der generierte Code anpassen lässt. Diese Vorlagen werden als T4-Textvorlagen bereitgestellt und sind daher bei Bedarf anpassbar.

Der standardmäßig generierte Code hängt von der Visual Studio-Version ab, in der Sie das Modell erstellen:

  • In Visual Studio 2012 und 2013 erstellte Modelle generieren einfache POCO-Entitätsklassen und einen Kontext, der von DbContext (vereinfacht) abgeleitet ist.
  • In Visual Studio 2010 erstellte Modelle generieren Entitätsklassen, die von EntityObject abgeleitet werden, und einen Kontext, der von ObjectContext abgeleitet wird.

Hinweis

Es wird empfohlen, zur DbContext Generator-Vorlage zu wechseln, nachdem Sie Ihr Modell hinzugefügt haben.

Auf dieser Seite finden Sie Informationen zu den verfügbaren Vorlagen und eine Anleitung zum Hinzufügen einer Vorlage zu Ihrem Modell.

Verfügbare Vorlagen

Die folgenden Vorlagen werden vom Entity Framework-Team bereitgestellt:

DbContext Generator

Mit dieser Vorlage werden einfache POCO-Entitätsklassen und ein Kontext generiert, der mit EF6 von DbContext abgeleitet wird. Dies ist die empfohlene Vorlage, es sei denn, Sie haben einen Grund, eine der anderen unten aufgeführten Vorlagen zu verwenden. Dies ist auch die Codegenerierungsvorlage, die Sie standardmäßig erhalten, wenn Sie neuere Versionen von Visual Studio verwenden (Visual Studio 2013 oder höher): Wenn Sie ein neues Modell erstellen, wird diese Vorlage standardmäßig verwendet, und die T4-Dateien (.tt) werden unter der EDMX-Datei geschachtelt.

Ältere Visual Studio-Versionen

  • Visual Studio 2012: Um die EF 6.x DbContext Generator-Vorlagen abzurufen, müssen Sie die neuesten Entity Framework Tools für Visual Studio installieren. Weitere Informationen finden Sie auf der Seite Get Entity Framework (Beziehen von Entity Framework).
  • Visual Studio 2010: Die EF 6.x DbContext Generator-Vorlagen sind für Visual Studio 2010 nicht verfügbar.

DbContext Generator für EF 5.x

Wenn Sie eine ältere Version des EntityFramework-NuGet-Pakets verwenden (mit einer Hauptversion 5), müssen Sie die EF 5.x DbContext Generator-Vorlage verwenden.

Wenn Sie Visual Studio 2013 oder 2012 verwenden, ist diese Vorlage bereits installiert.

Wenn Sie Visual Studio 2010 verwenden, müssen Sie beim Hinzufügen der Vorlage auf die Registerkarte Online klicken, um sie aus dem Visual Studio-Katalog herunterzuladen. Alternativ können Sie die Vorlage direkt aus dem Visual Studio-Katalog vorab installieren. Da die Vorlagen in höheren Versionen von Visual Studio bereits enthalten sind, können die Versionen im Katalog nur in Visual Studio 2010 installiert werden.

DbContext Generator für EF 4.x

Wenn Sie eine ältere Version des EntityFramework-NuGet-Pakets verwenden (Hauptversion 4.x), müssen Sie die EF 4.x DbContext Generator-Vorlage verwenden. Diese finden Sie beim Hinzufügen der Vorlage auf der Registerkarte Online. Alternativ können Sie die Vorlage direkt aus dem Visual Studio-Katalog vorab installieren.

EntityObject Generator

Mit dieser Vorlage werden Entitätsklassen generiert, die von EntityObject abgeleitet werden, und ein Kontext, der von ObjectContext abgeleitet wird.

Hinweis

Sie sollten die Verwendung von DbContext Generator in Betracht ziehen.

Der DbContext-Generator ist jetzt die empfohlene Vorlage für neue Anwendungen. Der DbContext-Generator nutzt die einfachere DbContext-API. Der EntityObject-Generator ist weiterhin für die Unterstützung vorhandener Anwendungen verfügbar.

Visual Studio 2010, 2012 und 2013

Sie müssen beim Hinzufügen der Vorlage auf die Registerkarte Online klicken, um sie aus dem Visual Studio-Katalog herunterzuladen. Alternativ können Sie die Vorlage direkt aus dem Visual Studio-Katalog vorab installieren.

EntityObject-Generator für EF 5.x

Wenn Sie Visual Studio 2012 oder 2013 verwenden, müssen Sie beim Hinzufügen der Vorlage auf die Registerkarte Online klicken, um sie aus dem Visual Studio-Katalog herunterzuladen. Alternativ können Sie die Vorlage direkt aus dem Visual Studio-Katalog vorab installieren. Da die Vorlagen in Visual Studio 2010 bereits enthalten sind, können die Versionen im Katalog nur in Visual Studio 2012 und 2013 installiert werden.

Wenn Sie nur die ObjectContext-Codegenerierung aktivieren möchten, ohne Vorlagen bearbeiten zu müssen, können Sie die EntityObject-Codegenerierung wiederherstellen.

Wenn Sie Visual Studio 2010 verwenden, ist diese Vorlage bereits installiert. Wenn Sie ein neues Modell in Visual Studio 2010 erstellen, wird diese Vorlage zwar standardmäßig verwendet, die TT-Dateien sind jedoch nicht in Ihrem Projekt enthalten. Wenn Sie die Vorlage anpassen möchten, müssen Sie sie Ihrem Projekt hinzufügen.

Generator für Entitäten mit Selbstnachverfolgung (Self-Tracking Entities, STE)

Mit dieser Vorlage werden Entitätsklassen mit Selbstnachverfolgung und ein Kontext generiert, der von ObjectContext abgeleitet wird. In einer EF-Anwendung ist ein Kontext für das Verfolgen von Änderungen in den Entitäten zuständig. Allerdings steht der Kontext in n-schichtigen Szenarios möglicherweise nicht auf der Ebene zur Verfügung, auf der die Entitäten geändert werden. Mit Entitäten mit Selbstnachverfolgung können Sie Änderungen auf jeder Ebene nachverfolgen. Weitere Informationen finden Sie unter Self-Tracking Entities (Entitäten mit Selbstnachverfolgung).

Hinweis

Eine STE-Vorlage wird nicht empfohlen.

Es wird nicht mehr empfohlen, die STE-Vorlage in neuen Anwendungen zu verwenden. Sie ist jedoch weiterhin verfügbar, um vorhandene Anwendungen zu unterstützen. Lesen Sie den Artikel zu getrennten Entitäten, um weitere Optionen zu n-schichtigen Szenarios zu erfahren, die empfohlen werden.

Hinweis

Es gibt keine EF 6.x-Version der STE-Vorlage.

Hinweis

Es gibt keine Visual Studio 2013-Version der STE-Vorlage.

Visual Studio 2012

Wenn Sie Visual Studio 2012 verwenden, müssen Sie beim Hinzufügen der Vorlage auf die Registerkarte Online klicken, um sie aus dem Visual Studio-Katalog herunterzuladen. Alternativ können Sie die Vorlage direkt aus dem Visual Studio-Katalog vorab installieren. Da die Vorlagen in Visual Studio 2010 bereits enthalten sind, können die Versionen im Katalog nur in Visual Studio 2012 installiert werden.

Visual Studio 2010**

Wenn Sie Visual Studio 2010 verwenden, ist diese Vorlage bereits installiert.

POCO-Entitätsgenerator

Mit dieser Vorlage werden POCO-Entitätsklassen und ein Kontext generiert, der von ObjectContext abgeleitet wird.

Hinweis

Sie sollten die Verwendung von DbContext Generator in Betracht ziehen.

Der DbContext-Generator ist jetzt die empfohlene Vorlage zum Generieren von POCO-Klassen in neuen Anwendungen. Der DbContext-Generator nutzt die neue DbContext-API und kann einfachere POCO-Klassen generieren. Der POCO-Entitätsgenerator ist weiterhin für die Unterstützung vorhandener Anwendungen verfügbar.

Hinweis

Es gibt keine EF 5.x- oder EF 6.x-Version der STE-Vorlage.

Hinweis

Es gibt keine Visual Studio 2013-Version der POCO-Vorlage.

Visual Studio 2012 und Visual Studio 2010

Sie müssen beim Hinzufügen der Vorlage auf die Registerkarte Online klicken, um sie aus dem Visual Studio-Katalog herunterzuladen. Alternativ können Sie die Vorlage direkt aus dem Visual Studio-Katalog vorab installieren.

Was sind die „Websites“-Vorlagen?

Die „Websites“-Vorlagen (z. B. EF 5.x DbContext Generator für C#-Websites) sind für die Verwendung in Websiteprojekten bestimmt, die über Datei > Neu > Website erstellt werden. Diese unterscheiden sich von Webanwendungen, die über Datei > Neu > Projekt erstellt werden und die Standardvorlagen verwenden. Wir stellen separate Vorlagen bereit, da das Elementvorlagensystem in Visual Studio diese erfordert.

Verwenden einer Vorlage

Um eine Vorlage für die Codegenerierung zu verwenden, klicken Sie mit der rechten Maustaste auf eine leere Stelle auf der Entwurfsoberfläche im EF Designer, und klicken Sie auf Add Code Generation Item... (Codegenerierungselement hinzufügen...).

Add Code Gen Item

Wenn Sie die Vorlage, die Sie verwenden möchten, bereits installiert haben (oder sie in Visual Studio enthalten war), ist sie entweder im Abschnitt Code oder im Abschnitt Daten im linken Menü verfügbar.

Installed Template

Wenn Sie die Vorlage noch nicht installiert haben, klicken Sie im linken Menü auf Online, und suchen Sie nach der gewünschten Vorlage.

Search Template 

Wenn Sie Visual Studio 2012 verwenden, werden die neue TT-Dateien unter der EDMX-Datei geschachtelt.*

Hinweis

Bei Modellen, die in Visual Studio 2012 erstellt wurden, müssen Sie die für die Standardcodegenerierung verwendeten Vorlagen löschen. Andernfalls werden doppelte Klassen und Kontexte generiert. Die Standarddateien sind <Modellname>.tt und <Modellname>.context.tt

VS2012 Templates

Wenn Sie Visual Studio 2010 verwenden, werden die TT-Dateien direkt zu Ihrem Projekt hinzugefügt.  

VS2010 Templates