Návrhářské šablony pro generování kódu

Když vytvoříte model pomocí návrháře Entity Framework, vaše třídy a odvozený kontext se automaticky vygenerují za vás. Kromě výchozího generování kódu poskytujeme také řadu šablon, které lze použít k přizpůsobení kódu, který se vygeneruje. Tyto šablony jsou k dispozici jako textové šablony T4, které vám umožní v případě potřeby přizpůsobit šablony.

Kód, který se ve výchozím nastavení vygeneruje, závisí na tom, ve které verzi sady Visual Studio model vytvoříte:

  • Modely vytvořené v sadě Visual Studio 2012 &2013 generují jednoduché třídy entit POCO a kontext odvozený ze zjednodušeného DbContextu.
  • Modely vytvořené v sadě Visual Studio 2010 generují třídy entit, které jsou odvozeny z EntityObject, a kontext odvozený z ObjectContext.

Poznámka:

Po přidání modelu doporučujeme přepnout na šablonu Generátor DbContext.

Tato stránka popisuje dostupné šablony a pak obsahuje pokyny pro přidání šablony do modelu.

Dostupné šablony

Tým Entity Framework poskytuje následující šablony:

DbContext Generator

Tato šablona vygeneruje jednoduché třídy entit POCO a kontext odvozený z DbContext pomocí EF6. Toto je doporučená šablona, pokud nemáte důvod použít některou z dalších šablon uvedených níže. Je to také šablona generování kódu, kterou ve výchozím nastavení získáte, pokud používáte nejnovější verze sady Visual Studio (Visual Studio 2013 a novější): Když vytvoříte nový model, použije se tato šablona ve výchozím nastavení a soubory T4 (.tt) se vnoří do souboru .edmx.

Starší verze sady Visual Studio

  • Visual Studio 2012: Pokud chcete získat šablony EF 6.x DbContextGenerator , budete muset nainstalovat nejnovější nástroje Entity Framework pro Visual Studio – další informace najdete na stránce Získat Entity Framework .
  • Visual Studio 2010: Šablony EF 6.x DbContextGenerator nejsou k dispozici pro Visual Studio 2010.

Generátor DbContext pro EF 5.x

Pokud používáte starší verzi balíčku NuGet EntityFramework (jeden s hlavní verzí 5), budete muset použít šablonu GENERÁTORu EF 5.x DbContext .

Pokud používáte Visual Studio 2013 nebo 2012, už je tato šablona nainstalovaná.

Pokud používáte Visual Studio 2010, budete muset při přidávání šablony vybrat kartu Online a stáhnout ji z galerie sady Visual Studio. Případně můžete šablonu nainstalovat přímo z galerie sady Visual Studio předem. Vzhledem k tomu, že šablony jsou součástí novějších verzí sady Visual Studio, mohou být verze v galerii nainstalovány pouze v sadě Visual Studio 2010.

DbContext Generator pro EF 4.x

Pokud používáte starší verzi balíčku NuGet EntityFramework (jeden s hlavní verzí 4), budete muset použít šablonu EF 4.x DbContext Generator . Tuto možnost najdete na kartě Online při přidávání šablony nebo ji můžete nainstalovat přímo z galerie sady Visual Studio předem.

Generátor EntityObject

Tato šablona vygeneruje třídy entit, které jsou odvozeny z EntityObject a kontextu odvozené z ObjectContext.

Poznámka:

Zvažte použití generátoru DbContext.

Generátor DbContext je nyní doporučenou šablonou pro nové aplikace. Generátor DbContext využívá výhod jednoduššího rozhraní DBContext API. Generátor EntityObject je nadále dostupný pro podporu stávajících aplikací.

Visual Studio 2010, 2012 a 2013

Při přidávání šablony budete muset vybrat kartu Online a stáhnout ji z galerie sady Visual Studio. Případně můžete šablonu nainstalovat přímo z galerie sady Visual Studio předem.

Generátor EntityObject pro EF 5.x

Pokud používáte Visual Studio 2012 nebo 2013, budete muset při přidávání šablony vybrat kartu Online a stáhnout ji z galerie sady Visual Studio. Případně můžete šablonu nainstalovat přímo z galerie sady Visual Studio předem. Vzhledem k tomu, že šablony jsou součástí sady Visual Studio 2010, verze v galerii je možné nainstalovat pouze v sadě Visual Studio 2012 a 2013.

Pokud chcete pouze generování kódu ObjectContext, aniž byste museli upravit šablonu, můžete se vrátit ke generování kódu EntityObject.

Pokud používáte Visual Studio 2010, tato šablona je už nainstalovaná. Pokud v sadě Visual Studio 2010 vytvoříte nový model, použije se tato šablona ve výchozím nastavení, ale soubory .tt nejsou součástí projektu. Pokud chcete šablonu přizpůsobit, budete ji muset přidat do projektu.

Generátor samo-sledovacích entit (STE)

Tato šablona vygeneruje třídy entit se samo-sledováním a kontext, který je odvozen z ObjectContext. V aplikaci EF je kontext zodpovědný za sledování změn v entitách. V N-úrovňových scénářích ale nemusí být kontext na úrovni, která upravuje entity, k dispozici. Entity s vlastním sledováním vám pomůžou sledovat změny v libovolné vrstvě. Další informace naleznete v tématu Self-Tracking Entity.

Poznámka:

Šablona STE se nedoporučuje

V nových aplikacích už nedoporučujeme používat šablonu STE, která bude nadále dostupná pro podporu stávajících aplikací. V článku o odpojených entitách najdete další možnosti, které doporučujeme pro n-vrstvé scénáře.

Poznámka:

Šablona STE neobsahuje verzi EF 6.x.

Poznámka:

Neexistuje žádná verze šablony STE sady Visual Studio 2013.

Visual Studio 2012

Pokud používáte Visual Studio 2012, budete muset při přidávání šablony vybrat kartu Online a stáhnout ji z galerie sady Visual Studio. Případně můžete šablonu nainstalovat přímo z galerie sady Visual Studio předem. Protože šablony jsou součástí sady Visual Studio 2010, verze v galerii je možné nainstalovat pouze v sadě Visual Studio 2012.

Visual Studio 2010**

Pokud používáte Visual Studio 2010, tato šablona je už nainstalovaná.

Generátor entit POCO

Tato šablona vygeneruje třídy entit POCO a kontext odvozený z ObjectContext.

Poznámka:

Zvažte použití generátoru DbContext.

DbContext Generator je nyní doporučenou šablonou pro generování tříd POCO v nových aplikacích. Generátor DbContext využívá nové rozhraní DBContext API a může generovat jednodušší třídy POCO. Generátor entit POCO je nadále k dispozici pro podporu stávajících aplikací.

Poznámka:

Šablona STE neobsahuje verzi EF 5.x nebo EF 6.x.

Poznámka:

Neexistuje žádná verze sady Visual Studio 2013 šablony POCO.

Visual Studio 2012 a Visual Studio 2010

Při přidávání šablony budete muset vybrat kartu Online a stáhnout ji z galerie sady Visual Studio. Případně můžete šablonu nainstalovat přímo z galerie sady Visual Studio předem.

Co jsou šablony pro webové stránky

Šablony "Weby" (například EF 5.x DbContext Generator for C# Web Sites) slouží k použití v projektech webů vytvořených prostřednictvím souboru -> Nový -> Web.... Liší se od webových aplikací vytvořených prostřednictvím souboru –> Nový –> Projekt..., který používá standardní šablony. Poskytujeme samostatné šablony, protože systém šablon položek v sadě Visual Studio je vyžaduje.

Použití šablony

Pokud chcete začít používat šablonu generování kódu, klikněte pravým tlačítkem myši na prázdné místo na návrhové ploše v nástroji EF Designer a vyberte Přidat položku generování kódu....

Přidat položku pro generování kódu

Pokud jste již nainstalovali šablonu, kterou chcete použít (nebo byla součástí sady Visual Studio), bude dostupná v části Kód nebo Data z levé nabídky.

Nainstalovaná šablona

Pokud šablonu ještě nemáte nainstalovanou, vyberte v nabídce vlevo možnost Online a vyhledejte požadovanou šablonu.

Šablona hledání  

Pokud používáte Visual Studio 2012, budou nové soubory .tt vnořené do souboru .edmx.*

Poznámka:

U modelů vytvořených v sadě Visual Studio 2012 budete muset odstranit šablony použité pro výchozí generování kódu, jinak budete mít duplicitní třídy a kontext vygenerované. Výchozí soubory jsou <název> modelu.tt a <název> modelu.context.tt

Šablony VS2012

Pokud používáte Visual Studio 2010, soubory tt se přidají přímo do projektu.  

Šablony VS2010