Designer-Vorlagen für die CodegenerierungDesigner Code Generation Templates

Bei der Erstellung eines Modells mit dem Entity Framework Designer werden die Klassen und der abgeleitete Kontext automatisch für Sie generiert.When you create a model using the Entity Framework Designer your classes and derived context are automatically generated for you. Zusätzlich zur Standardcodegenerierung bieten wir auch verschiedene Vorlagen, mit denen sich der generierte Code anpassen lässt.In addition to the default code generation we also provide a number of templates that can be used to customize the code that gets generated. Diese Vorlagen werden als T4-Textvorlagen bereitgestellt und sind daher bei Bedarf anpassbar.These templates are provided as T4 Text Templates, allowing you to customize the templates if needed.

Der standardmäßig generierte Code hängt von der Visual Studio-Version ab, in der Sie das Modell erstellen:The code that gets generated by default depends on which version of Visual Studio you create your model in:

  • In Visual Studio 2012 und 2013 erstellte Modelle generieren einfache POCO-Entitätsklassen und einen Kontext, der von DbContext (vereinfacht) abgeleitet ist.Models created in Visual Studio 2012 & 2013 will generate simple POCO entity classes and a context that derives from the simplified DbContext.
  • In Visual Studio 2010 erstellte Modelle generieren Entitätsklassen, die von EntityObject abgeleitet werden, und einen Kontext, der von ObjectContext abgeleitet wird.Models created in Visual Studio 2010 will generate entity classes that derive from EntityObject and a context that derives from ObjectContext.

Hinweis

Es wird empfohlen, zur DbContext Generator-Vorlage zu wechseln, nachdem Sie Ihr Modell hinzugefügt haben.We recommend switching to the DbContext Generator template once you've added your model.

Auf dieser Seite finden Sie Informationen zu den verfügbaren Vorlagen und eine Anleitung zum Hinzufügen einer Vorlage zu Ihrem Modell.This page covers the available templates and then provides instructions for adding a template to your model.

Verfügbare VorlagenAvailable Templates

Die folgenden Vorlagen werden vom Entity Framework-Team bereitgestellt:The following templates are provided by the Entity Framework team:

DbContext GeneratorDbContext Generator

Mit dieser Vorlage werden einfache POCO-Entitätsklassen und ein Kontext generiert, der mit EF6 von DbContext abgeleitet wird.This template will generate simple POCO entity classes and a context that derives from DbContext using EF6. Dies ist die empfohlene Vorlage, es sei denn, Sie haben einen Grund, eine der anderen unten aufgeführten Vorlagen zu verwenden.This is the recommended template unless you have a reason to use one of the other templates listed below. 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.It is also the code generation template you get by default if you are using recent versions of Visual Studio (Visual Studio 2013 onwards): When you create a new model this template is used by default and the T4 files (.tt) are nested under your .edmx file.

Ältere Visual Studio-VersionenOlder versions of Visual Studio

  • 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 2012: To get the EF 6.x DbContextGenerator templates you will need to install the latest Entity Framework Tools for Visual Studio - see the Get Entity Framework page for more information.
  • Visual Studio 2010: Die EF 6.x DbContext Generator-Vorlagen sind für Visual Studio 2010 nicht verfügbar.Visual Studio 2010: The EF 6.x DbContextGenerator templates are not available for Visual Studio 2010.

DbContext Generator für EF 5.xDbContext Generator for 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.If you are using an older version of the EntityFramework NuGet package (one with a major version of 5) you will need to use the EF 5.x DbContext Generator template.

Wenn Sie Visual Studio 2013 oder 2012 verwenden, ist diese Vorlage bereits installiert.If you are using Visual Studio 2013 or 2012 this template is already installed.

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.If you are using Visual Studio 2010 you will need to select the Online tab when adding the template to download it from Visual Studio Gallery. Alternativ können Sie die Vorlage direkt aus dem Visual Studio-Katalog vorab installieren.Alternatively you can install the template directly from Visual Studio Gallery ahead of time. 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.Because the templates are included in later versions of Visual Studio the versions on the gallery can only be installed on Visual Studio 2010.

DbContext Generator für EF 4.xDbContext Generator for 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.If you are using an older version of the EntityFramework NuGet package (one with a major version of 4) you will need to use the EF 4.x DbContext Generator template. 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.This can be found in the Online tab when adding the template, or you can install the template directly from Visual Studio Gallery ahead of time.

EntityObject GeneratorEntityObject Generator

Mit dieser Vorlage werden Entitätsklassen generiert, die von EntityObject abgeleitet werden, und ein Kontext, der von ObjectContext abgeleitet wird.This template will generate entity classes that derive from EntityObject and a context that derives from ObjectContext.

Hinweis

Sie sollten die Verwendung von DbContext Generator in Betracht ziehen.Consider using the DbContext Generator

Der DbContext-Generator ist jetzt die empfohlene Vorlage für neue Anwendungen.The DbContext Generator is now the recommended template for new applications. Der DbContext-Generator nutzt die einfachere DbContext-API.The DbContext Generator takes advantage of the simpler DbContext API. Der EntityObject-Generator ist weiterhin für die Unterstützung vorhandener Anwendungen verfügbar.The EntityObject Generator continues to be available to support existing applications.

Visual Studio 2010, 2012 & 2013Visual Studio 2010, 2012 & 2013

Sie müssen beim Hinzufügen der Vorlage auf die Registerkarte Online klicken, um sie aus dem Visual Studio-Katalog herunterzuladen.You will need to select the Online tab when adding the template to download it from Visual Studio Gallery. Alternativ können Sie die Vorlage direkt aus dem Visual Studio-Katalog vorab installieren.Alternatively you can install the template directly from Visual Studio Gallery ahead of time.

EntityObject-Generator für EF 5.xEntityObject Generator for 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.If you are using Visual Studio 2012 or 2013 you will need to select the Online tab when adding the template to download it from Visual Studio Gallery. Alternativ können Sie die Vorlage direkt aus dem Visual Studio-Katalog vorab installieren.Alternatively you can install the template directly from Visual Studio Gallery ahead of time. Da die Vorlagen in Visual Studio 2010 bereits enthalten sind, können die Versionen im Katalog nur in Visual Studio 2012 & 2013 installiert werden.Because the templates are included in Visual Studio 2010 the versions on the gallery can only be installed on Visual Studio 2012 & 2013.

Wenn Sie nur die ObjectContext-Codegenerierung aktivieren möchten, ohne Vorlagen bearbeiten zu müssen, können Sie die EntityObject-Codegenerierung wiederherstellen.If you just want ObjectContext code generation without needing to edit the template you can revert to EntityObject code generation.

Wenn Sie Visual Studio 2010 verwenden, ist diese Vorlage bereits installiert.If you are using Visual Studio 2010 this template is already installed. 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.If you create a new model in Visual Studio 2010 this template is used by default but the .tt files are not included in your project. Wenn Sie die Vorlage anpassen möchten, müssen Sie sie Ihrem Projekt hinzufügen.If you want to customize the template you will need to add it to your project.

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

Mit dieser Vorlage werden Entitätsklassen mit Selbstnachverfolgung und ein Kontext generiert, der von ObjectContext abgeleitet wird.This template will generate Self-Tracking Entity classes and a context that derives from ObjectContext. In einer EF-Anwendung ist ein Kontext für das Verfolgen von Änderungen in den Entitäten zuständig.In an EF application, a context is responsible for tracking changes in the entities. 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.However, in N-Tier scenarios, the context might not be available on the tier that modifies the entities. Mit Entitäten mit Selbstnachverfolgung können Sie Änderungen auf jeder Ebene nachverfolgen.Self-tracking entities help you track changes in any tier. Weitere Informationen finden Sie unter Self-Tracking Entities (Entitäten mit Selbstnachverfolgung).For more information, see Self-Tracking Entities.

Hinweis

Eine STE-Vorlage wird nicht empfohlen.STE Template Not Recommended

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.We no longer recommend using the STE template in new applications, it continues to be available to support existing applications. Lesen Sie den Artikel zu getrennten Entitäten, um weitere Optionen zu n-schichtigen Szenarios zu erfahren, die empfohlen werden.Visit the disconnected entities article for other options we recommend for N-Tier scenarios.

Hinweis

Es gibt keine EF 6.x-Version der STE-Vorlage.There is no EF 6.x version of the STE template.

Hinweis

Es gibt keine Visual Studio 2013-Version der STE-Vorlage.There is no Visual Studio 2013 version of the STE template.

Visual Studio 2012Visual 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.If you are using Visual Studio 2012 you will need to select the Online tab when adding the template to download it from Visual Studio Gallery. Alternativ können Sie die Vorlage direkt aus dem Visual Studio-Katalog vorab installieren.Alternatively you can install the template directly from Visual Studio Gallery ahead of time. Da die Vorlagen in Visual Studio 2010 bereits enthalten sind, können die Versionen im Katalog nur in Visual Studio 2012 installiert werden.Because the templates are included in Visual Studio 2010 the versions on the gallery can only be installed on Visual Studio 2012.

Visual Studio 2010**Visual Studio 2010**

Wenn Sie Visual Studio 2010 verwenden, ist diese Vorlage bereits installiert.If you are using Visual Studio 2010 this template is already installed.

POCO-EntitätsgeneratorPOCO Entity Generator

Mit dieser Vorlage werden POCO-Entitätsklassen und ein Kontext generiert, der von ObjectContext abgeleitet wird.This template will generate POCO entity classes and a context that derives from ObjectContext

Hinweis

Sie sollten die Verwendung von DbContext Generator in Betracht ziehen.Consider using the DbContext Generator

Der DbContext-Generator ist jetzt die empfohlene Vorlage zum Generieren von POCO-Klassen in neuen Anwendungen.The DbContext Generator is now the recommended template for generating POCO classes in new applications. Der DbContext-Generator nutzt die neue DbContext-API und kann einfachere POCO-Klassen generieren.The DbContext Generator takes advantage of the new DbContext API and can generate simpler POCO classes. Der POCO-Entitätsgenerator ist weiterhin für die Unterstützung vorhandener Anwendungen verfügbar.The POCO Entity Generator continues to be available to support existing applications.

Hinweis

Es gibt keine EF 5.x- oder EF 6.x-Version der STE-Vorlage.There is no EF 5.x or EF 6.x version of the STE template.

Hinweis

Es gibt keine Visual Studio 2013-Version der POCO-Vorlage.There is no Visual Studio 2013 version of the POCO template.

Visual Studio 2012 & Visual Studio 2010Visual Studio 2012 & Visual Studio 2010

Sie müssen beim Hinzufügen der Vorlage auf die Registerkarte Online klicken, um sie aus dem Visual Studio-Katalog herunterzuladen.You will need to select the Online tab when adding the template to download it from Visual Studio Gallery. Alternativ können Sie die Vorlage direkt aus dem Visual Studio-Katalog vorab installieren.Alternatively you can install the template directly from Visual Studio Gallery ahead of time.

Was sind die „Websites“-Vorlagen?What are the "Web Sites" Templates

Die „Websites“-Vorlagen, z.B. EF 5.x DbContext Generator für C#-Websites, werden in Websiteprojekten verwendet, die über Datei > Neu > Website... erstellt wurden. Diese unterscheiden sich von Webanwendungen, die über Datei > Neu > Projekt... erstellt wurden und die Standardvorlagen verwenden.The "Web Sites" templates (for example, EF 5.x DbContext Generator for C# Web Sites) are for use in Web Site projects created via File -> New -> Web Site.... These are different from Web Applications, created via File -> New -> Project..., which use the standard templates. Wir stellen separate Vorlagen bereit, da das Elementvorlagensystem in Visual Studio diese erfordert.We provide separate templates because the item template system in Visual Studio requires them.

Verwenden einer VorlageUsing a Template

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...).To start using a code generation template, right-click an empty spot on the design surface in the EF Designer and select Add Code Generation Item....

Hinzufügen eines Codegenerierungselements

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.If you've already installed the template you want to use (or it was included in Visual Studio), then it will be available under either the Code or Data section from the left menu.

Installierte Vorlage

Wenn Sie die Vorlage noch nicht installiert haben, klicken Sie im linken Menü auf Online, und suchen Sie nach der gewünschten Vorlage.If you don't already have the template installed, select Online from the left menu and search for the template you want.

Vorlage suchen 

Wenn Sie Visual Studio 2012 verwenden, werden die neue TT-Dateien unter der EDMX-Datei geschachtelt.*If you are using Visual Studio 2012, the new .tt files will be nested under the .edmx file.*

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.For models created in Visual Studio 2012 you will need to delete the templates used for default code generation, otherwise you will have duplicate classes and context generated. Die Standarddateien sind <Modellname>.tt und <Modellname>.context.tt.The default files are <model name>.tt and <model name>.context.tt. 

VS2012-Vorlagen

Wenn Sie Visual Studio 2010 verwenden, werden die TT-Dateien direkt zu Ihrem Projekt hinzugefügt.If you are using Visual Studio 2010, the tt files are added directly to your project.  

VS2010-Vorlagen