Свободное отображение NHibernate один-один через дополнительную таблицу - PullRequest
0 голосов
/ 02 марта 2009

У меня есть таблица A, в которой есть ссылки на таблицу B через третью таблицу C. C содержит первичные ключи A и B. Для каждого A в C имеется не более одной записи. Когда я пытаюсь создать сопоставление для A такое, что я ссылаюсь на B, я использую функцию References, но она не позволяет мне указать, что сопоставление проходит через другую таблицу, а не напрямую. Как правильно это сделать?

Ответы [ 2 ]

0 голосов
/ 11 марта 2009

Мне кажется, я нашел ответ в примерах кода Google. В классе отображения можно написать дополнительно:

WithTable("SomeTable", c => { c.Map(x => x.Col1); });
0 голосов
/ 02 марта 2009

Единственное известное мне сопоставление, которое может это сделать, - это HasManyToMany в сопоставлении A:

HasManyToMany(x => x.B)
    .WithTableName("C")
    .WithParentKeyColumn("A_Id")  
    .WithChildKeyColumn("B_Id"); 

Проблема в том, что отображение для A имеет список B, а не только один. Я не знаю, как вы могли бы сделать это, чтобы получить только один в чистом виде.

...