Szablony generowania kodu projektanta

Podczas tworzenia modelu przy użyciu projektanta programu Entity Framework klasy i kontekst pochodny są generowane automatycznie. Oprócz domyślnej generacji kodu udostępniamy również szereg szablonów, które mogą służyć do dostosowywania wygenerowanego kodu. Te szablony są udostępniane jako szablony tekstowe T4, co pozwala w razie potrzeby dostosować szablony.

Kod generowany domyślnie zależy od wersji programu Visual Studio, w której tworzysz model:

  • Modele utworzone w programie Visual Studio 2012 i 2013 będą generować proste klasy jednostek POCO i kontekst pochodzący z uproszczonego obiektu DbContext.
  • Modele utworzone w programie Visual Studio 2010 będą generować klasy jednostek pochodzące z obiektu EntityObject i kontekstu pochodzącego z obiektu ObjectContext.

Uwaga / Notatka

Zalecamy przełączenie do szablonu generatora DbContext po dodaniu modelu.

Ta strona obejmuje dostępne szablony, a następnie zawiera instrukcje dotyczące dodawania szablonu do modelu.

Dostępne szablony

Następujące szablony są udostępniane przez zespół platformy Entity Framework:

DbContext Generator

Ten szablon wygeneruje proste klasy jednostek POCO i kontekst pochodzący z elementu DbContext przy użyciu platformy EF6. Jest to zalecany szablon, chyba że masz powód, aby użyć jednego z innych szablonów wymienionych poniżej. Jest to również szablon generowania kodu, który jest domyślnie używany, jeśli używasz najnowszych wersji programu Visual Studio (nowszych wersji programu Visual Studio 2013): podczas tworzenia nowego modelu ten szablon jest używany domyślnie, a pliki T4 (.tt) są zagnieżdżone w pliku edmx.

Starsze wersje programu Visual Studio

  • Visual Studio 2012: Aby uzyskać szablony EF 6.x DbContextGenerator, musisz zainstalować najnowsze Narzędzia Entity Framework dla Visual Studio — zobacz stronę Pozyskiwanie Entity Framework, aby uzyskać więcej informacji.
  • Visual Studio 2010: Szablony EF 6.x DbContextGenerator nie są dostępne dla programu Visual Studio 2010.

DbContext Generator dla EF 5.x

Jeśli używasz starszej wersji pakietu NuGet EntityFramework (jeden z wersją główną 5), musisz użyć szablonu generatora DBContext EF 5.x .

Jeśli używasz programu Visual Studio 2013 lub 2012, ten szablon jest już zainstalowany.

Jeśli używasz programu Visual Studio 2010, musisz wybrać kartę Online podczas dodawania szablonu, aby pobrać go z galerii programu Visual Studio. Alternatywnie możesz zainstalować szablon bezpośrednio z galerii programu Visual Studio z wyprzedzeniem. Ponieważ szablony są zawarte w nowszych wersjach programu Visual Studio, wersje galerii można zainstalować tylko w programie Visual Studio 2010.

DbContext Generator dla EF 4.x

Jeśli używasz starszej wersji pakietu NuGet EntityFramework (jeden z wersją główną 4), musisz użyć szablonu generatora DBContext EF 4.x . Można to znaleźć na karcie Online podczas dodawania szablonu lub zainstalować szablon bezpośrednio z galerii programu Visual Studio.

EntityObject Generator

Ten szablon spowoduje wygenerowanie klas jednostek, które pochodzą z obiektu EntityObject i kontekstu pochodzącego z obiektu ObjectContext.

Uwaga / Notatka

Rozważ użycie generatora DbContext

Generator DbContext jest teraz zalecanym szablonem dla nowych aplikacji. Generator DbContext korzysta z prostszego interfejsu API DbContext. Generator EntityObject jest nadal dostępny do obsługi istniejących aplikacji.

Visual Studio 2010, 2012 i 2013

Podczas dodawania szablonu do pobrania z galerii programu Visual Studio należy wybrać kartę Online . Alternatywnie możesz zainstalować szablon bezpośrednio z galerii programu Visual Studio z wyprzedzeniem.

Generator obiektów EntityObject dla platformy EF 5.x

Jeśli używasz programu Visual Studio 2012 lub 2013, musisz wybrać kartę Online podczas dodawania szablonu, aby pobrać go z galerii programu Visual Studio. Alternatywnie możesz zainstalować szablon bezpośrednio z galerii programu Visual Studio z wyprzedzeniem. Ponieważ szablony są zawarte w programie Visual Studio 2010, wersje galerii można zainstalować tylko w programie Visual Studio 2012 i 2013.

Jeśli chcesz tylko generowanie kodu ObjectContext bez konieczności edytowania szablonu, możesz przywrócić generowanie kodu EntityObject.

Jeśli używasz programu Visual Studio 2010, ten szablon jest już zainstalowany. Jeśli tworzysz nowy model w programie Visual Studio 2010, ten szablon jest używany domyślnie, ale pliki tt nie są uwzględniane w projekcie. Jeśli chcesz dostosować szablon, musisz dodać go do projektu.

Generator jednostek samośledzących (STE)

Ten szablon spowoduje wygenerowanie klas jednostek typu Self-Tracking oraz kontekstu, który dziedziczy z klasy ObjectContext. W aplikacji EF kontekst jest odpowiedzialny za śledzenie zmian w jednostkach. Jednak w scenariuszach N-warstwowych kontekst może nie być dostępny w warstwie modyfikującej jednostki. Jednostki samodzielnego śledzenia ułatwiają śledzenie zmian w dowolnej warstwie. Aby uzyskać więcej informacji, zobacz Jednostki samodzielnego śledzenia.

Uwaga / Notatka

Szablon STE nie jest zalecany

Nie zalecamy już używania szablonu STE w nowych aplikacjach, ale nadal będzie on dostępny do obsługi istniejących aplikacji. Zapoznaj się z artykułem dotyczącym rozłączonych jednostek , aby zapoznać się z innymi opcjami, które zalecamy w scenariuszach N-warstwowych.

Uwaga / Notatka

Brak wersji EF 6.x szablonu STE.

Uwaga / Notatka

Brak wersji szablonu STE programu Visual Studio 2013.

Visual Studio 2012

Jeśli używasz programu Visual Studio 2012, musisz wybrać kartę Online podczas dodawania szablonu, aby pobrać go z galerii programu Visual Studio. Alternatywnie możesz zainstalować szablon bezpośrednio z galerii programu Visual Studio z wyprzedzeniem. Ponieważ szablony są zawarte w programie Visual Studio 2010, wersje galerii można zainstalować tylko w programie Visual Studio 2012.

Visual Studio 2010**

Jeśli używasz programu Visual Studio 2010, ten szablon jest już zainstalowany.

Generator jednostek POCO

Ten szablon wygeneruje klasy jednostek POCO i kontekst pochodzący z obiektu ObjectContext

Uwaga / Notatka

Rozważ użycie generatora DbContext

Generator DbContext jest teraz zalecanym szablonem do generowania klas POCO w nowych aplikacjach. Generator DbContext korzysta z nowego interfejsu API DbContext i może generować prostsze klasy POCO. Generator jednostek POCO jest nadal dostępny do obsługi istniejących aplikacji.

Uwaga / Notatka

Szablonu STE nie ma wersji EF 5.x ani EF 6.x.

Uwaga / Notatka

Brak wersji szablonu POCO programu Visual Studio 2013.

Visual Studio 2012 i Visual Studio 2010

Podczas dodawania szablonu do pobrania z galerii programu Visual Studio należy wybrać kartę Online . Alternatywnie możesz zainstalować szablon bezpośrednio z galerii programu Visual Studio z wyprzedzeniem.

Co to są szablony "witryny sieci Web"

Szablony "Witryny sieci Web" (na przykład generator EF 5.x DbContext dla witryn sieci Web w języku C#) są przeznaczone do używania w projektach witryn sieci Web utworzonych za pomocą opcji Plik —> Nowa —> Witryna sieci Web.... Różnią się one od aplikacji internetowych utworzonych za pomocą opcji Plik —> Nowy —> Projekt..., które korzystają ze standardowych szablonów. Udostępniamy oddzielne szablony, ponieważ system szablonów elementów w programie Visual Studio wymaga ich.

Używanie szablonu

Aby rozpocząć korzystanie z szablonu generowania kodu, kliknij prawym przyciskiem myszy puste miejsce na powierzchni projektowej w projektancie EF i wybierz polecenie Dodaj element generowania kodu....

Dodaj element generacji kodu

Jeśli masz już zainstalowany szablon, którego chcesz użyć (lub został on dołączony do programu Visual Studio), będzie on dostępny w sekcji Kod lub Dane z menu po lewej stronie.

Zainstalowany szablon

Jeśli nie masz jeszcze zainstalowanego szablonu, wybierz pozycję Online z menu po lewej stronie i wyszukaj odpowiedni szablon.

Szablon wyszukiwania  

Jeśli używasz programu Visual Studio 2012, nowe pliki tt zostaną zagnieżdżone w pliku edmx.*

Uwaga / Notatka

W przypadku modeli utworzonych w programie Visual Studio 2012 należy usunąć szablony używane do generowania kodu domyślnego. W przeciwnym razie zostaną wygenerowane zduplikowane klasy i kontekst. Pliki domyślne to <nazwa modelu>.tt i <nazwa modelu>.context.tt

Szablony programu VS2012

Jeśli używasz programu Visual Studio 2010, pliki tt są dodawane bezpośrednio do projektu.  

Szablony programu VS2010