Je suis aux prises avec NHibernate et son chargement par la poste.NHibernate - LazyLoad un-à-zéro
J'ai une structure que j'ai simplifiée mais qui montre mon problème.
Class Shift {
int ShiftID;
DateTime ShiftStart;
Employee Employee;
}
Class Employee {
int EmployeeID;
string Name;
}
données:
ShiftData
ID SHIFTTIME EmployeeID (int)
1 12:00 0
2 13:00 1
3 14:00 0
4 13:00 3
Employees
ID NAME
1 Morten
2 Peter
3 Henrik
Ma stratégie de chargement pour le déplacement utilise Rejoignez de sorte que lorsque je charge les quarts de travail NHibernate fait automatiquement une jointure gauche pour obtenir le client. Cela fonctionne parfaitement pour les quarts avec les employés attachés, mais certains quarts n'ont pas encore d'employés. Lorsque j'essaie d'accéder à l'employé d'un tel poste une fois que le poste est chargé, il en résulte un autre SELECT sur la base de données (découvert en utilisant votre NHProfiler) Pourquoi cela se produit-il?
J'espère que vous avez une réponse que je suis vraiment bloqué à ce sujet.
Est-ce que EmployeeID doit être null au lieu de 0? – Canton