2009-12-21 2 views
8

Я использую членство ASP.Net для защиты своего сайта, и у меня есть вопрос о том, как хранить дополнительную информацию о пользователе. Прибегая к помощи и читать другие вопросы, я думаю, 3 принятые подходы к хранению дополнительных данныхПри использовании членства в ASP.Net плюс дополнительная таблица для хранения информации о пользователе, следует ли связать другие таблицы с aspnet_Users или моей собственной таблицей?

  1. Профиль рамочные - как правило, рассматриваются как слишком ограничивающие
  2. пользовательского профиля поставщика - немного больше, чем я хочу, чтобы попытаться на данный момент
  3. Использования другой таблицы с информацией о пользователях - выбор я следую

Я создал новую таблицу в дополнении к членским таблицам ASP.Net имени User_Information, который имеет один-к-один внешний ключ к aspnet_Users , Когда я создаю новую таблицу для хранения информации, связанной с пользователем (например, комментарии, голоса и т. Д.), Должен ли я установить внешний ключ для указания aspnet_User или моей таблицы User_information?

благодаря

ответ

2

Это зависит от характера ваших запросов.

Поставщик членства предоставит вам легкий доступ к столбцу идентификатора пользователя из таблицы aspnet_Users. Для получения идентификатора из вашей таблицы потребуется дополнительный запрос.

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

0

Я выбираю aspnet_User таблицу. Это, в конце концов, считается «первичной» таблицей для информации пользователя, нет?

2

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

Я рекомендую не создавать внешний ключ и не продолжать эту конструкцию.