Возвращение 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?

Другие вопросы по тегам