什么是aspnet_Users和aspnet_Membership?我应该使用哪一个?有什么不同?

时间:2011-12-09 16:12:55

标签: asp.net sql-server database database-design asp.net-membership

我在我的网站上使用默认会员资格。但是我对ASPNETDB的复杂数据库设计感到困惑。

假设我想添加有关用户名称,姓氏,地址等的详细信息......我应该在哪里放置aspnet_Membership表或aspnet_Users表以及为什么?我的意思是我可以看到我应该把详细信息放在aspnet_Membership上。但是又为什么有两个和aspnet_Users上的绑定......

或者假设我正在为用户详细信息添加一个消息传递到我应该键入的表中?

我很困惑,如果你能告诉我使用这两张表,我将不胜感激。

以下是您应该拥有的默认ASPNETDB的图表:

enter image description here

3 个答案:

答案 0 :(得分:6)

您可以使用ASP.NET profiles存储有关用户的自定义属性,而不是修改内置的ASP.NET成员资格架构。这是关于这个主题的one tutorial

您可以使用aspnet_regsql.exe将您的配置文件表添加到您的架构中(鉴于您已经生成了大部分架构,您可能已经熟悉了它)。使用-R p开关获取配置文件表/ procs。

答案 1 :(得分:3)

如果要将自定义表连接到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 :(得分:2)

我建议不要更改ASP.NET成员资格架构提供的任何表。要存储其他数据,请使用已经提到的ASP.NET配置文件选项,或者创建一个可能适合您的账单的自定义数据。

有两个用于存储用户数据的表的原因已经通过here得到了解答。 祝你选择合适的解决方案。