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