Iam борется с NHibernate и его lazyload.NHibernate - LazyLoad one-to-zero
У меня есть структура, которую я упростил, но она показывает мою проблему.
Class Shift {
int ShiftID;
DateTime ShiftStart;
Employee Employee;
}
Class Employee {
int EmployeeID;
string Name;
}
данные:
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
Моя стратегия загрузки для сдвига с помощью регистрации, так что, когда я загружаю сдвиги NHibernate автоматически делает левым присоединиться, чтобы получить клиент. Это прекрасно работает для смены сотрудников, однако некоторые смены еще не имеют сотрудников.
Когда я пытаюсь получить доступ к Работнику такой смены после того, как сдвиг будет загружен, это приведет к другому SELECT к базе данных (обнаруженному с помощью вашего NHProfiler) Почему это происходит?
Надеюсь, у вас есть ответ, который действительно застрял на этом.
Должен ли EmployeeID быть нулевым, а не 0? – Canton