Что такое aspnet_Users и aspnet_Membership? Какой из них я должен использовать? В чем разница? - PullRequest
5 голосов
/ 09 декабря 2011

Я использую класс членства по умолчанию на моем сайте.Но я немного запутался со сложным дизайном базы данных ASPNETDB.

Допустим, я хочу добавить подробности о пользователе, такие как имя, фамилия, адрес и т. Д. Где я должен поместить их в таблицу aspnet_Membership или aspnet_Usersстол и почему?Я имею в виду, я вижу, что я должен поместить детали в aspnet_Membership.Но опять же, почему есть два из них и привязки в aspnet_Users ...

Или, допустим, я добавляю сообщение в ту таблицу, в которую я должен ввести ключ, для деталей пользователя?

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

Вот диаграмма для ASPNETDB по умолчанию, которую вы, вероятно, должны иметь:

enter image description here

Ответы [ 3 ]

6 голосов
/ 09 декабря 2011

Вместо изменения встроенной схемы членства в ASP.NET вы можете использовать Профили ASP.NET для хранения пользовательских свойств ваших пользователей.Вот один учебник по теме.

Вы можете добавить таблицы профилей в свою схему, используя aspnet_regsql.exe (который, вероятно, вам уже знаком, учитывая,вы уже сгенерировали большую часть схемы).Используйте переключатель -R p, чтобы получить таблицы профилей / procs.

3 голосов
/ 23 декабря 2012

Если вы хотите подключить свою пользовательскую таблицу к членству в ASP.NET, используйте UserId в качестве внешнего ключа из таблицы aspnet_Users вместо таблицы aspnet_Membership для своей пользовательской таблицы.Для справки, пожалуйста, обратите внимание, как aspnet_Profile или даже aspnet_Membership использует UserId в качестве внешнего ключа из таблицы aspnet_Users.

См. Диаграмму базы данных здесь: http://msdn.microsoft.com/en-us/library/Aa478948.asp2prvdr0102l(l=en-us).gif

Удачи ...

2 голосов
/ 09 декабря 2011

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

Причина, по которой существует две таблицы для хранения пользовательских данных, уже указана более здесь . Удачи в выборе правильного решения.

...