2010-09-05 2 views
0

Мне было интересно узнать, как использовать членство ASP.NET вместе с MVC. Базовая установка очень проста, но если я хочу использовать дополнительные поля, такие как адрес, псевдоним и т. Д., Должен ли я использовать ProfileCommon или создать отдельную таблицу, которая содержит дополнительные данные и ссылку на UserId в Aspnet_users?Включить членство в ASP.NET MVC

У меня проблема, когда я изменил имя в членстве, чтобы использовать электронное письмо, а затем мне нужны дополнительные поля (адрес, псевдоним и т. Д.). Если я использую ProfileCommon я могу получить объект,

public static ProfileCommon GetProfile(string username) 
     { 
      return ((ProfileCommon)(ProfileBase.Create(username))); 
     } 

Проблема в том, я сохраняю UserId в разных таблицах, и я не могу понять, как получить объект ProfileCommon по UserId вместо имени пользователя (который в моем это электронная почта)?

Я мог бы либо изменить отношение в разных таблицах, чтобы использовать электронную почту, но это было бы очень медленной реализацией, или я мог бы создать отдельную таблицу с дополнительными полями.

Возможно, существует третий и лучший вариант?

+1

ASP.NET MVC работает на ASP.NET, поэтому вы достигаете этого так же, как и в обычном приложении ASP.NET WebForms. –

+0

Я удалил тег EF 4.0, потому что нет проблем с таргетингом на Entity Framework. –

ответ

0

Я решил создать отдельную таблицу, так как я бы не ограничивался классом ProfileBase.

0

Вы можете просто присоединиться к таблице пользователей, чтобы получить электронное письмо.

Как правило, не рекомендуется использовать два разных поля в качестве идентификатора.

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