Сопоставление свойств из внешней таблицы дважды в Fluent NHibernate

У меня есть 2 таблицы, как это: (Обратите внимание, нестандартное именование схемы БД)

table T_Pen
  TP_ID
  TP_PrimaryColorID
  TP_SecondaryColorID
  ...

table E_Color
  EC_ID
  EC_ColorName
  ...

И я хочу создать сопоставление 2 таблиц с объектом домена Pen используя Fluent NHibernate.

class Pen
{
    PenID;
    PrimaryColorName;
    SecondaryColorName;
    ...
}

Как я могу это сделать?

2 ответа

Решение

Я не думаю, что вы могли бы вставить / обновить больше, если бы вы только ссылались на имя.

Вы можете создать представление PenColour или скрыть фактическую ссылку в своем классе пера и открыть только свойство Name.

Класс Pen {
int PenID;
Color PrimaryColor;
Color SecondaryColor;
}

Цвет класса
{
int ColorID;
строка ColorName;

}

класс ColorMap
{
Id (x => x.ColorID);
Карта (x => x.ColorName);
}

класс PenMap
{
Id (x => x.PenID);
Ссылки (x => x.PrimaryColor).Column("TP_PrimaryColorID");
Ссылки (x => x.SecondaryColor).Column ("TP_SecondaryColorID");
}

Другие вопросы по тегам