По сути, заголовок этого вопроса объясняет суть того, что я пытаюсь сделать, но создать надуманный пример ...
У меня есть класс, назовите его Сотрудник. У сотрудника есть IPaymentBehaviour ...
public class Employee
{
IPaymentBehaviour _paymentBehaviour;
protected internal Employee() { /* required by NH */}
public Employee(IPaymentBehaviour paymentBehaviour)
{
_paymentBehaviour = paymentBehaviour;
}
}
Это соответствует таблице базы данных примерно так:
dbo.Employees
-> EmployeeId (первичный ключ)
-> PaymentBehaviourId (внешний ключ для таблицы поиска)
-> Поле1
-> Field2
-> Field3
-> Поле4
В зависимости от значения PaymentBehaviourId мне нужно «внедрить» другую реализацию IPaymentBehaviour в объект Employee. В зависимости от того, какой платеж использовался, для создания такого поведения могут потребоваться поля 1, 2, 3 или 4.
Может кто-нибудь сказать мне, как это будет отображаться с помощью Fluent-NHibernate?