【问题标题】:What is aspnet_Users and aspnet_Membership? Which one should I use? What is the difference?什么是 aspnet_Users 和 aspnet_Membership?我应该使用哪一个?有什么区别?
【发布时间】:2012-01-16 21:58:40
【问题描述】:

我在我的网站中使用默认会员等级。但是我对 ASPNETDB 的复杂数据库设计有点困惑。

假设我想添加有关用户的详细信息,例如姓名、姓氏、地址等...我应该将它们放在 aspnet_Membership 表还是 aspnet_Users 表的位置,为什么?我的意思是我可以看到我应该将详细信息放在 aspnet_Membership 上。但话又说回来为什么有两个和aspnet_Users上的绑定......

或者假设我正在向哪个表添加消息,以获取用户详细信息?

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

这是您可能应该拥有的默认 ASPNETDB 的图表:

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您的回答,我之前不知道或搜索过profiles的用法。和伟大的教程!虽然我仍然不确定我是否在数据库中使用了更多与用户相关的表。我应该在哪个表中引用用户或会员资格,或者我也可以通过个人资料解决它以及如何解决?谢谢!
    • 在这种情况下,如果您需要存储更复杂的属性(例如一对多关系),我会创建您需要的任何新表,并使用 @987654325 上的外键将内容粘合在一起aspnet_Membership 表的 @ 和 UserId 字段。
    【解决方案2】:

    如果要将自定义表连接到 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

    祝你好运……

    【讨论】:

      【解决方案3】:

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

      here已经回答了为什么有两个表存储用户数据的原因。 祝你好运,选择正确的解决方案。

      【讨论】:

      • 谢谢!我没有看到这个问题,这绝对是我需要表达我的好奇心的事情。
      猜你喜欢
      • 2011-09-16
      • 1970-01-01
      • 2021-04-15
      • 1970-01-01
      • 1970-01-01
      • 2012-02-15
      • 1970-01-01
      • 2022-07-30
      相关资源
      最近更新 更多