Свободное сопоставление NHibernate «один-один» через дополнительную таблицу
-
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, а не только один.Я не знаю, как можно было сделать это, чтобы получить только один чистый способ.