Ich erstelle Datenmodell für zwei Objekte Mitarbeiter und Abteilung. Mitarbeiter hat eine Liste von Abteilungen und Abteilung hat eine Liste von Mitarbeitern.Wie man viele zu vielen Beziehungen synchron mit Nhibernate hält?
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);}
}
}
Wie schreibe ich AddEmployee Methode in der Abteilung Klasse und AddDepartment Methode in Klasse Employee es synchron mit nHibernate zu machen? Ich schrieb dies in Klasse Employee
public virtual void AddDepartment(Department department)
{
if (!department.Employees.Contains(this))
{
department.Employees.Add(this);
}
_departments.Add(department);
}
Aber es funktioniert nicht, wie ich es erwartet jemand Hilfe work.Can.
I habe unten ein Beispiel geschrieben, wie ich mit diesen Szenarien umgehe, aber warum funktioniert dein Code nicht? erwartet? Was erwarten Sie? –
Es führt zu zirkulären Abhängigkeiten, wenn ich versuche, dies zu speichern wie db.session.Save (Employee); Es ist in Mitarbeiter mit Abteilungen und Abteilungen hat Mitarbeiter innerhalb und so weiter. Es ist rund. Ich bin mir nicht sicher, ob das stimmt. Kann mich jemand korrigieren, wenn ich falsch liege? – 8GB