Свободное сопоставление NHibernate «один-один» через дополнительную таблицу

StackOverflow https://stackoverflow.com/questions/600854

  •  03-07-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение 2

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

WithTable("SomeTable", c => { c.Map(x => x.Col1); });

Другие советы

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top