2014-12-29 3 views
0

Предположим, у меня есть таблица Employee и таблица отдела, а DepartmentID - таблица FK в Employee. Когда я получаю конкретный сотрудник, через инфраструктуру сущности, не должен ли связанный объект отдела быть там как ссылочный объект в объекте employee? Я вижу объекты FkDepartmentID (int) и Department, но объект отдела является нулевым во время выполнения. Как мне получить название отдела? Я имею в виду, что я хотел сделать это прямо, используя что-то вроде;Почему связанный объект имеет значение null?

string deptName = employee.Department.DepartmentName 

Но это дает мне ошибку, потому что объект Департамента имеет значение null.

ответ

0

Я думаю, что я нашел ответ здесь: NULL values in object properties in Entity Framework

По-видимому, запрос должен быть записан в виде:

var emps = from e in Employee.include("Department") select e; 

Тогда я мог бы ленивая нагрузка Департамент как:

string deptName = employee.Department.DepartmentName 
+1

Если вы используете ленивую выборку, которая является типом выборки по умолчанию, а затем до и до тех пор, пока вы не назовете ссылочный объект вашего отдела явно из ссылки Employee, пока y ou все еще в транзакции, он возвращает только null. –

+0

, но даже со ссылкой на имя отдела через сотрудника. Департамент. Имя_департамента, я видел Департамент как null. – devC

Смежные вопросы