Я занимаюсь разработкой существующего проекта, в котором доступ к базе данных кодируется как:
public UserDTO Login(string login, string password)
{
return OnConnect<UserDTO>(db =>
{
var user = db.Users
.Where(x => x.Name.Trim().ToLower() == login.ToLower().Trim())
.FirstOrDefault();
// validation..
return user.ToUserDTO();
});
}
Дело в том, что после выхода из этого метода мое свойство user
, такое как: user.PermissionGroup
недоступно, потому что оно находилось в DynamicProxies
, но контекст теперь закрыт.
После прочтения некоторых сообщений в stack'o мне удалось включить свойства, которые я хочу использовать после выхода из Login
метода:
public UserDTO Login(string login, string password)
{
return OnConnect<UserDTO>(db =>
{
var user = db.Users
.Where(x => x.Name.Trim().ToLower() == login.ToLower().Trim())
.Include("PermissionGroup")
.Include("PermissionGroup.GroupActionPermissions")
.Include("PermissionGroup.GroupActionPermissions.PermissionAction")
.Include("PermissionGroup.GroupActionPermissions.PermissionAction.PermissionController")
.Include("UserActionPermissions")
.Include("UserActionPermissions.PermissionAction")
.Include("UserActionPermissions.PermissionAction.PermissionController")
.FirstOrDefault();
// validation..
return user.ToUserDTO();
});
}
К сожалению, это ничего не меняет. user.PermissionGroup
недоступен. Что мне делать?