Definiowania meta danych mapowania

Lepiej będzie tu zawrzeć orginalną definicje metadanych
ORM tools require a metadata format for the application to specify the mapping between classes and tables, properties and columns, associations and foreign keys, .NET types and SQL types. This information is called the object/relational mapping metadata. It defines the transformation between the different data type systems and relationship representations.
Omawiać będę tylko mapowanie poprzez XML (możliwe jest jeszcze mapowanie poprzez atrybuty) ponieważ jest ono stosowane w projekcie w którym pracuje.
Przykładowy xml mapowania – plik taki powinien mieć rozszerzenie hbm.xml czyli np. Category.hbm.xml oraz musi być włączony do projektu .net jako Embedded Resource



 






Property mapping
Mapowanie property zazwyczaj zawiera nazwę property, nazwę kolumny w bazie danych i może mieć jeszcze kilka innych atrybutów, jednak nie są one już konieczne. Zalecane jest stosowanie not-null w celu walidacji danych przed wysłaniem do bazy. Typ określany jest na podstawie typu property za pomocą reflection – jeśli nie zostanie podany.
Przykładowe mapowanie propercji:

Oczywiście jest wiele dalszych możliwości jednak w większości przypadków proste propercje są wystarczające, przynajmniej narazie ;)

Możemy sterować zapisem danej propercji do bazy

Powyższa property nie zostanie nigdy zmodyfikowana w bazie (nie pojawi się ani w Insercie ani w Updacie)

Być może przydatnym może okazać się poniższe porównanie.



...



=====



...


Czyli możemy sobie zadeklarować domyślny assembly i namespace dla klasy lub powtarzać pełną nazwę za każdym razem.
Kolejnym krokiem są asocjacje

Komentarze

Popularne posty