Visual Studio Express 2013 jak stworzyć dynamiczny model danych

Jak stworzyć dynamiczny model danych w Visual Studio Express 2013 for Web?

Sprawa pozornie jest trudna ale zobaczycie sami, że nie nie jest tak źle. Ten krótki wpis pokaże Wam jak szybko stworzyć dynamiczny model danych w Visual Studio. Opis poniżej będzie dla wersji VS z językiem polskim. Opis jak zmienić język na polski znajdziecie tu.

  1. rozpoczynamy od uruchomienia środowiska Visual Studio Express 2013 for Web (na innych wersjach nie sprawdzałem).
  2. Z manu plik wybieramy opcję nowy projekt,  lub korzystamy z kombinacji klawiszy Ctrl+Shift+N
  3. Z menu z lewej strony rozwijamy węzeł szablony -> Visual C# -> Sieć Web -> Visual Studio 2012. Następnie w środkowej części okienka wybieramy opcję Aplikacja sieci web ASP.NET Dynamic Data Entities. Teraz w dolnej części możemy nazwać jakoś nasz projekt np. na MojProjekt,  i wszystko potwierdzamy przyciskiem OK.
    1. eksploratorze rozwiązania w katalogu  App_Data musimy stworzyć nową bazę lub podłączyć już istniejącą bazę.
      Dla mnie najmniej błędogenną metodą jest stworzenie nowej bazy danych oraz wygenerowanie wszystkich table skryptem przygotowanym wcześniej.
      Jak stworzyć nowa bazę?
      W eksploratorze rozwiązania klikamy prawym przyciskiem myszy (dalej w tekście PPM) na katalogu App_Data i wybieramy opcję Dodaj -> Nowy element lub korzystamy z kombinacji klawiszy Ctrl + Shift + A i wybieramy opcję Baza danych SQL ServerW dolnej części okienka many możliwość nazwania naszego elementu, my zmienimy nazwę bazy na MojaBaza i później potwierdzamy wszystko przyciskiem  Dodaj.  W tym momencie pod katalogiem App_Data powinna pojawić się nasza nowo utworzona baza danych o nazwie MojaBaza. Jak już mamy stworzoną bazę danych klikamy na niej PPM i wybieramy opcję otwórz. Tą czynnością otworzymy okienko eksplorator serwera w którym zobaczymy naszą bazę MojaBaza.mdf. Klikamy na niej PPM i wybieramy opcję nowe zapytanie. W przyborniku otworzy się nowe okno o standardowej nazwie SQLquery1.sql  gdzie możemy wkleić nasz skrypt który będzie generował strukturę naszej bazy, czyli tabele i połączenia między nimi. Po wklejeniu skryptu do okienka wciskamy pierwszą ikonkę od lewej execute (taki mały trójkącik) lub kombinację klawiszy Ctrl + Shift + E  co skutkuje uruchomieniem skryptu i stworzeniem struktury naszej bazy.
  4. W momencie kiedy mamy już stworzoną bazę wraz ze strukturą wracamy do okienka eksplorator rozwiązania i klikamy PPM na MojProjekt i wybieramy kolejno Dodaj -> Nowy element lub korzystamy z kombinacji klawiszy Ctrl + Shift + A i wybieramy ADO.NET Entity Data Model zmieniamy jego nazwę (na dole) na MojModel i klikamy dalej.
    1. W okienku Choose Model Contents wybieramy opcję EF Designer from database potwierdzamy dalej i w następnym okienku Choose Your Data Connection  także potwierdzamy przyciskiem dalej. Nie we wszystkich wersjach ale może się pojawić okienko Choose Your Version wtedy wybieramy Entity Framework 5.0. Kolejne okno Choose Your Database Objects and Settings to wybór obiektów które mają się znaleźć w modelu . My zaznaczmy checkbox przy Tables, upewniamy się jeszcze czy checkbox include foreign key in the model jest zaznaczony (chodzi tutaj o uwzględnienie połączeń między tabelami), i klikamy w  zakończ.
    2. Pojawi nam się nasz model. W oknie właściwości zmieniamy wartość przy opcji Code Generation Strategy na Legacy ObjectContext i przechodzimy do okna eksplorator rozwiązania. Wyszukujemy węzeł MojModel.edmx i w tym węźle usuwamy MojModel.Context.tt i MojModel.tt.
    3. ekploratorze rozwiązania klikamy na Global.asax i w procedurze  public static void RegisterRoutes(RouteCollection routes) znajdujemy zakomentowany wpis
      // DefaultModel.RegisterContext(typeof(typ_kontekstu_danych), new ContextConfiguration() { ScaffoldAllTables = false });
      odkomentowujemy go usuwając na początku linii znaki //

      zmieniamy opis typ_kontekstu_danych na wartość MojaBazaEntities oraz
      zmieniamy opis ScaffoldAllTables = false na wartość ScaffoldAllTables = true
    4. Uruchamiamy projekt skrótem F5 w trybie debugowania lub skrotem klawiszy Ctrl + F5 w trybie bez debugowania i gotowe :) w przeglądarce powinna pojawić się strona w stylu panelu do zarządzania bazą, w literaturze nazywają to również tworzeniem interfejsu bazy.