2012-11-10 10 views
15

Używam VS 2012 i EF 5. Mam istniejącą bazę danych, którą chcę utworzyć klasy POCO z istniejącej bazy danych. Postępowałem zgodnie z instrukcjami, aby dodać do modelu ADO.NET Entity Data Model. Przeszedłem przez kreatora, aby użyć istniejącej bazy danych. Następnie utworzył pliki edmx i tt z otwartym projektantem. Jednak chcę utworzyć obiekty POCO i używać ich. Witryna Microsoftu stwierdza, że ​​POCO Entity Framework Generator jest przestarzały i powinienem używać Generatora DBContext. Nie mogę wymyślić kroków, których używam do generowania klas POCO. Widzę tylko projektanta edmx. Naprawdę nie chcę nawet pliku edmx, ale tylko klasy POCO. Jak mogę utworzyć klasy POCO z istniejącej bazy danych przy użyciu EF 5 i VS 2012?Entity Framework 5 - Jak wygenerować klasy POCO z istniejącej bazy danych

+0

VS2012 generuje domyślnie elementy POCO i DbContext. Czy to nie działa? – Pawel

Odpowiedz

14

Zastosowanie EF 5.x DbContext Fluent Generator

Możesz dodać ją z szablonów online:

  • Generowanie edmx z istniejącej bazy danych
  • Wybierz Add New Item
  • wyszukiwania szablonów online dla POCO
  • Dodaj EF 5.x Generator fluktuacji DbContext

będzie dodać trzy szablony T4 do projektu:

  • XXX.Context.tt - kontekst odziedziczoną DbContext
  • XXX.Entities.tt - Podmioty POCO
  • XXX. Mappings.tt - płynne odwzorowania dla każdego podmiotu

BUT należy ręcznie skonfigurować ścieżkę do modelu danych edmx. Każdy z tych szablonów ma linię string inputFile = @"$edmxInputFile$";. Musisz podać nazwę pliku edmx tutaj:

string inputFile = @"Northwind.edmx";

+0

Dziękuję za informację. Dodałem szablony, ale nie wygenerowano kodu. Zmieniłem je wszystkie, aby naprawić $ edmxInputFile $, ale nic się nie dzieje. Kliknąłem prawym przyciskiem myszy na każdym z nich i kliknąłem Uruchom narzędzie niestandardowe. czego mi brakuje? – user31673

+0

@ user31673 w rzeczywistości nie potrzebujesz żadnego niestandardowego narzędzia. Po prostu zapisz edytowany szablon i automatycznie wygeneruje plik wyjściowy (będzie pod węzłem szablonu). –

+1

Ah, jeszcze jedno - usuń kontekst i encje wygenerowane z pliku edmx. Potrzebujesz tylko diagramu. –

9

Proces ten jest dość usprawnione zrobić teraz, jak się wydaje. Kroki z zaakceptowanej odpowiedzi są teraz łatwe do wykonania od samego projektanta EDMX. Zasadniczo

  • Generowanie modelu (edmx) z istniejącej bazy danych, dodając ADO.NET Entity Data Model do projektu (patrz here więcej szczegółów),
  • a następnie

Otwórz plik .edmx w Entity Designer.

Kliknij prawym przyciskiem myszy pusty obszar na powierzchni Entity Designer i wskaż pozycję Add Code Generation Item.

W oknie dialogowym Dodaj nowy element wybierz Szablony online i wpisz tekst DBContext w polu tekstowym Wyszukaj szablony online.

Wybierz odpowiednią wersję dla swojego szablonu (5.0, jeśli chcesz kierować do Entity Framework 5.0).

Kliknij OK.

To wszystko, oczywiście. Przytoczone tutaj instrukcje odnoszą się do szablonów online jako instalowanie EF 5.x Wymagany jest DbContext Fluent Generator. Jeśli masz już zainstalowany, nie musisz szukać go w szablonach online, ale w zainstalowanych szablonach. Aby uzyskać więcej informacji, sprawdź stronę this, sekcja "Aby użyć szablonu generatora DbContext do wygenerowania kodu warstwy obiektu".

Powiązane problemy