Lista zadań nr 6
CodeSmith
-
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]
-
Rozszerzyć szablon z poprzedniego zadania tak, żeby podczas generowania zostały utworzone także asocjacje pomiędzy klasami.
[2]
-
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]
-
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]