В моем приложении mvc2 есть настройка отношения сущностей, так что у каждого пользователя есть одна роль, и у каждой роли может быть много пользователей. Вот так:
Roles Users
-------- ---------
RoleID-- UserID
\
Name --> RoleID
Итак, довольно базовые отношения «многие к одному» применяются в базе данных и отражаются в моей диаграмме отношений сущностей. Однако, когда я пытаюсь получить роль пользователя (user.Role.Name
), она всегда равна нулю, и я вижу в базе данных, что для роли пользователя задан действительный идентификатор. Это моя первая попытка использования сущностей, так как я всегда использовал LINQ2SQL раньше, и это просто сбивает меня с толку.
Что делать?
Вот снимок экрана моего файла edmx
http://cl.ly/a9c088698369a54fc770
В базе данных пользовательская таблица имеет свойство RoleID (не знаю, почему она не отображается на диаграмме), и я свободно могу переходить от пользователя к роли, и известно, что это отношение один ко многим компилятор, но он просто возвращается как ноль при попытке просмотреть объект пользователя.
РЕДАКТИРОВАТЬ:
Вот запрос, который я использую
User user = db.Users.SingleOrDefault(u => u.Username == username);
user.Role.Name
Мой пользовательский объект не является нулевым, и любые другие его свойства видимы, просто не могут видеть роль, и у каждого пользователя есть одна роль.