Возвращение userId обратно в CustomUserAuthRepository.CreateUserAuth
Будучи очень простым пользователем ServiceStack, я пытался попробовать, но некоторые вещи, которые я не могу понять правильно...
Я использую этот код для использования NHibernate в качестве слоя данных в аутентификации ServiceStack:
https://gist.github.com/balexandre/f1217ae8e2a2b1045d47
Я немного изменил CreateUserAuth
чтобы создать нового пользователя в моей собственной таблице (поскольку мне нужно больше данных для пользователя, а опции метаданных недостаточно), я расширил этот код в строке 201:
https://gist.github.com/balexandre/f1217ae8e2a2b1045d47
newUser
отправлено обратно, и мне нужно получить userId (newUser.Id
) поэтому я могу создать нового пользователя в моей таблице с тем же идентификатором пользователя, который будет иметь UserAuth (для правильного сохранения / редактирования в CustomUserSession.cs и заполнения моего пользователя зарегистрированной информацией, как показано в нескольких примерах).
Как мне получить правильный идентификатор пользователя?
Я действительно думал, что могу прикрепить объект UserAuth к своему пользовательскому пользователю, как (newLocalUser.UserAuthInfo
) но я всегда заканчиваю тем, что имею в базе данных User.Id == 0
и получать newUser.Id
после Session.Save(new UserAuthNHibernate(newUser))
звоните, всегда 0
также.
Как вы, ребята, присоединяете новый сгенерированный UserId UserAuth к вашей собственной таблице? или вы просто используете адрес электронной почты для этого?
Оригинальный вопрос доступен в группах Google.
1 ответ
Я не вижу никакого кода в CreateUserAuth
метод, который устанавливает newUser.Id
имущество. Может быть что-то вроде...
var newUserAuthNhibernate = new UserAuthNHibernate(newUser);
Session.Save(newUserAuthNhibernate);
newUser.Id = newUserAuthNhibernate.Id;
нужно? Исходя из текущего кода в сущности, похоже, что NHibernate установит поле Id для нового экземпляра UserAuthNHibernate, созданного в Session.Save()
но я не вижу, где этот идентификатор (который будет сгенерирован DB/NHibernate) будет возвращаться к текущему экземпляру newUser
что возвращается CreateUserAuth
метод. Может быть, это происходит в классе UserAuthNHibernate?