Šablony generování kódu návrháře

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 poskytovány jako textové šablony T4, což vám umožňuje v případě potřeby šablony přizpůsobit.

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 vygenerují třídy entit odvozené z třídy EntityObject a kontext odvozený z třídy 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 k přidání šablony do modelu.

Dostupné šablony

Následující šablony poskytuje tým Entity Framework:

Generátor DbContext

Tato šablona vygeneruje jednoduché třídy entit objektů POCO a kontext odvozený z třídy DbContext pomocí EF6. Toto je doporučená šablona, pokud nemáte důvod použít některou z ostatní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 (od Visual Studio 2013): Když vytvoříte nový model, použije se ve výchozím nastavení tato šablona 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 pro Visual Studio 2010 k dispozici.

Generátor DbContext pro EF 5.x

Pokud používáte starší verzi balíčku NuGet EntityFramework (některý s hlavní verzí 5), budete muset použít šablonu Generátor EF 5.x DbContext.

Pokud používáte Visual Studio 2013 nebo 2012, tato šablona už je 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, dají se verze v galerii nainstalovat jenom v sadě Visual Studio 2010.

Generátor DbContext pro EF 4.x

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

Generátor EntityObject

Tato šablona vygeneruje třídy entit odvozené z třídy EntityObject a kontext odvozený z třídy 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á jednodušší rozhraní DbContext API. Generátor EntityObject je nadále k dispozici pro podporu existují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 jenom 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 už je nainstalovaná. Pokud v sadě Visual Studio 2010 vytvoříte nový model, použije se ve výchozím nastavení tato šablona, ale soubory .tt nejsou součástí projektu. Pokud chcete šablonu přizpůsobit, budete ji muset přidat do projektu.

Generátor entit s vlastním sledováním (STE)

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

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:

Neexistuje verze EF 6.x šablony STE.

Poznámka:

Neexistuje verze Visual Studio 2013 šablony STE.

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. Vzhledem k tomu, že šablony jsou součástí sady Visual Studio 2010, dají se verze v galerii nainstalovat jenom v sadě Visual Studio 2012.

Visual Studio 2010**

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

Generátor entit objektů POCO

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

Poznámka:

Zvažte použití generátoru DbContext

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

Poznámka:

Neexistuje verze EF 5.x nebo EF 6.x šablony STE.

Poznámka:

Neexistuje verze 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 webů

Šablony webů (například Generátor EF 5.x DbContext pro weby C#) slouží k použití v projektech webů vytvořených prostřednictvím nabídky Soubor -> Nový -> Web.... Liší se od webových aplikací vytvořených přes Soubor -> 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 EF Designeru a vyberte Přidat položku generování kódu.

Add Code Gen Item

Pokud jste už 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.

Installed Template

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

Search Template 

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 se vám vygenerují duplicitní třídy a kontext. Výchozí soubory jsou <název modelu>.tt a <název modelu>.context.tt

VS2012 Templates

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

VS2010 Templates