Предположим, у меня есть две таблицы:
Таблица 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
Как этого добиться?