Я создаю модель данных для двух объектов Сотрудник и отдел. У сотрудника есть список отделов, и у Департамента есть список сотрудников.как сохранить многие отношения во взаимодействии с nhibernate?
class Employee{
private IList<Department> _departments;
public Employee()
{
_departments = new List<Department>();
}
public virtual ReadOnlyCollection<Department> Departments{
get {return new ReadOnlyCollection<Department>(_departments);}
}
}
class Department{
private IList<Employee> _employees;
public Department()
{
_departments = new List<Employee>();
}
public virtual ReadOnlyCollection<Employee> Employees{
get {return new ReadOnlyCollection<Employee>(_employees);}
}
}
Как написать AddEmployee метод в классе отдела и метод AddDepartment в классе Employee, чтобы сделать его в синхронизации с NHibernate? Я писал об этом в классе Employee
public virtual void AddDepartment(Department department)
{
if (!department.Employees.Contains(this))
{
department.Employees.Add(this);
}
_departments.Add(department);
}
Но он не работает, как я ожидал, что это кто-то work.Can помощь.
I опубликовали пример ниже о том, как я обрабатываю эти сценарии, но почему ваш код не работает как ожидается? Что вы ожидаете? –
Это приводит к циклическим зависимостям, когда я пытаюсь сохранить это как db.session.Save (Employee); Он решает в Employee, имеющем отделы, и что отделы hasve сотрудников внутри и так далее. Это круговой. Я не уверен, что это правильно. Может кто-то исправить меня, если я ошибаюсь? – 8GB