Nhibernate отображение между таблицами, которые имеют промежуточную таблицу между - PullRequest
1 голос
/ 31 августа 2011

У меня есть следующий код:

public class Hotel
{
  public int ID
  {  
    get;set
  } 

  public IList<Photo> Photos
  {
    get;set;
  }
  //...other code
}

public class Photo
{
  public int ID
  {
     get;set;
  }
  //...other fields
}

В базе данных у меня есть следующие таблицы:

Photo: ID, Url, //.. other fields
HotelPhoto:ID, PhotoID, HotelID
Hotel:ID, Location, //..other fields

с отношениями между Hotel <--> HotelPhoto и HotelPhoto <--> Photo.

У меня такой вопрос: можно ли каким-то образом настроить отображение между Hotel классом и Hotel таблицей, чтобы получить список Photo без создания нового класса HotelPhoto? (Я хочу список фотографий, а не список HotelPhoto, из которого можно получить мои фотографии).

Каким-то образом я хочу получить доступ к таблице Photo из класса Hotel без какого-либо класса HotelPhoto, зная, что таблица HotelPhoto содержит только идентификаторы Hotel и Photo table.

Заранее спасибо, Тамаш

1 Ответ

3 голосов
/ 31 августа 2011

Вы можете использовать карту many-to-many, например ::1002*

Файл картографии отеля, должен содержать sth. как это:

<set name="Photos" table="HotelPhoto">
  <key column="HotelId" />
  <many-to-many class="Photo" column="PhotoId"/>
</set>

Для файла с фотографиями вы можете использовать sth. как это:

<set name="Hotels" table="HotelPhoto">
  <key column="PhotoId" />
  <many-to-many class="Hotel" column="HotelId"/>
</set>

Обратите внимание, что сопоставление не проверено и предполагает, что у Фотографии есть список отелей (иначе ваша db-схема не имеет смысла для меня).

Вы можете найти документацию здесь. http://nhibernate.info/doc/nh/en/index.html#collections-ofvalues

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...