Menu Zamknij

Nhibernate – Many to Many

W poprzednim wpisie omówiłem rodzaje relacji między obiektami. Dziś chciałbym go rozwinąć o mapowanie relacji many-to-many w NHibernate.

Zacznijmy więc od hipotetycznej sytuacji. Piszemy silnik pod naszego bloga, takiego jak ten. Chcemy móc dodawać posty, a do każdego z postów przypisywać tagi. Jeden post może pasować do wielu tagów, jak i jeden tag może wskazywać na wiele postów. W tym celu tworzymy relację między nimi, typu many-to-many. Zaczynamy od utworzenia modeli dla posta i tagu, jak poniżej:

Następnie do stworzonych mapowań, należy dodać następujący kod:

Tyle wystarczy aby skutecznie zastosować relację many-to-many. Poniżej jeszcze znajduje się wyjaśnienie poszczególnych atrybutów, jakich użyliśmy:

  • name – odpowiada nazwię odpowiedniej IList<T> naszego modelu,
  • table – mówi NHibernate jaką tabele zastosować do naszej relacji,
  • key column – precyzuje nazwę naszej kolumny w tabeli, do której zostanie zmapowany primary key, naszego modelu,
  • many-to-many – określa rodzaj relacji,
  • column – precyzuje nazwę kolumny w naszej tabeli odpowiadający primary key obiektu, w którym jesteśmy w relacji,
  • class – mówi NHibernate który model, jest drugą częścią naszej relacji.

 

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *