Предположим, у меня есть две таблицы:Регистрация таблицу в отображении с обратным FK
Таблица MY_ENTITY
ID: PK
OTHER_ID: FK to table OTHER
Таблица ДРУГИЕ
ID: PK
COL: The column I want
Моя сущность выглядит следующим образом:
class MyEntity : Entity
{
public virtual Column { get; set; }
}
Мои переопределения автоматического сопоставления например:
mapping.IgnoreProperty(x => x.Column);
mapping.Join("OTHER", x => x.KeyColumn("ID").Optional()
.Map(y => y.Column, "COL");
Это прекрасно работает и выполняется без проблем, но соединение неверно.
Он создает оператор SQL, который соединяет PK MY_ENTITY
с столбцом, указанным в KeyColumn
, в таблице OTHER
. Что-то вдоль линий:
select ... from MY_ENTITY e left outer join OTHER o on e.ID = o.ID
Однако мне нужно объединение, чтобы быть похожим на это:
select ... from MY_ENTITY e left outer join OTHER o on e.OTHER_ID = o.ID
Как этого добиться?
Спасибо! Проекция - хорошая идея, и она прямо решила мой следующий вопрос: «Как правильно перенести объекты с объединенной таблицей с ПК»? :-) –