Сопоставление свойств из внешней таблицы дважды в 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");
}