У меня есть следующие структуры баз данных (которые не могут быть изменены):Карты столбец другой таблицы на основе значения столбца
Users
- UserID (int)
- UserType (varchar)
- UserDetailsID (int)
Individual
- IndividualID (int)
...
Organisation
- OrganisationID (int)
...
В столбце UserDetailsID в таблице Users относится либо к отдельному лицу или организации, на основе значения, хранящегося в столбце UserType («индивидуальный», «организация»). Определенно не лучший дизайн базы данных, но сейчас мы с этим работаем.
Это начало нашего класса отображения:
public class UserMap : ClassMap<User>
{
public UserMap()
{
Table("Users");
LazyLoad();
Id(x => x.UserID).GeneratedBy.Identity().Column("UserID");
}
}
То, что я пытаюсь сделать, это отобразить UserDetailsID в объекте пользователя в правильной таблицы/сущности на основе значения в столбце UserType , Таким образом, он должен отображаться на личность, если UserType == «индивидуальный», а для организации - UserType == «организация». Можно ли сделать это с помощью Fluent NHibernate? И как это будет сделано?