У меня проблемы с отображением.Fluent Nhibernate Mapping Один класс на двух таблицах базы данных
У меня есть две таблицы в моей базе данных следующим образом: Сотрудник и EmployeeManagers
Сотрудник
EmployeeID ИНТ Имя NVARCHAR
EmployeeManagers
EmployeeIdFk INT ManagerIdFk INT
Так у сотрудника может быть 0 или больше Управление RS. Сам менеджер также является сотрудником.
У меня есть следующий класс для представления Работника и менеджеров
public class Employee
{
public virtual int Id
{
get;
set;
}
public virtual string Name
{
get;
set;
}
public virtual IList<Employee> Managers
{
get;
protected set;
}
public Employee()
{
Managers = new List<Employee>();
}
}
у меня нет какого-либо класса для представления диспетчера, потому что я думаю, что нет никакой необходимости в этом, так как сам руководитель является работником.
Я использую autoMapping, и я просто не могу понять, как сопоставить этот класс с этими двумя таблицами. Я реализую IAutoMappingOverride для переопределения автозаполнения для Employee, но я не уверен, что с ним делать.
public class NodeMap : IAutoMappingOverride
{
public void Override(AutoMapping<Node> mapping)
{
//mapping.HasMany(x => x.ValidParents).Cascade.All().Table("EmployeeManager");
//mapping.HasManyToMany(x => x.ValidParents).Cascade.All().Table("EmployeeManager");
}
}
Я также хочу удостовериться, что работнику нельзя назначить одного и того же менеджера дважды. Это то, что я могу проверить в своем приложении, но я хотел бы установить ограничение на таблицу EmployeeManager (например, составной ключ), чтобы один и тот же менеджер не мог назначаться сотруднику более одного раза.
Может ли кто-нибудь помочь мне с этим, пожалуйста?
В ожидании Набиль
Автоотображение в новом Fluent NHibernate версии 1.1 теперь поддерживает само referecing , – nabeelfarid
Epic! спасибо за обновление – dbones