Lista zadań nr 6

CodeSmith

  1. Utworzyć szablon, który dla wybranej tabeli z bazy danych wygeneruje klasę modelu dla ORM Castle Active Record, LINQ2SQL lub ADO.NET Entity Framework tak, żeby:
    • wszystkie kolumny mapowały się na właściwości "automatyczne", przy czym należy uwzględnić szczegóły każdej kolumny (tj. odpowiedni typ, wielkość, precyzję, itp.),
    • klucz główny został uwzględniony w definicji klasy.
    Szablon należy generować bezpośrednio z bazy danych.
    [2]
  2. Rozszerzyć szablon z poprzedniego zadania tak, żeby podczas generowania zostały utworzone także asocjacje pomiędzy klasami.
    [2]
  3. Przygotować szablon, który będzie uruchamiał szablon utworzony w poprzednim zadaniu dla każdej tabeli wybranej bazy danych. W efekcie po uruchomieniu tego szablonu mają powstać wszystkie klasy modelu. Dodatkowo, należy się zapoznać w mechanizmem "projektów" w CodeSmith i zastosować go w rozwiązaniu tego zadania.
    [3]
  4. Rozszerzyć rozwiązanie poprzedniego zadania tak, żeby klasy modelu generowały się w następujący sposób:
    • Szablon A generuje plik XML, który zawiera opis metadanych tabel wskazanej bazy danych (format pliku XML należy opracować samodzielnie).
    • Szablon B do generowania pojedynczej klasy przebudowujemy tak, żeby generował klasę na podstawie utworzonego w poprzednim punkcie pliku XML, a nie bezpośrednio z bazy danych.
    • Szablon C do generowania modelu uruchamia szablon B dla każdej tabeli wybranej bazy danych.
    Rozwiązanie również należy opakować w "projekt" środowiska CodeSmith.
    [3]