【问题标题】:Membership.DeleteUser() do not delete userMembership.DeleteUser() 不删除用户
【发布时间】:2014-05-02 09:13:15
【问题描述】:

当我使用 Membership.DeleteUser(userName, false) 时,没有任何反应。 但是当我使用 Membership.DeleteUser(userName, true)Membership.DeleteUser(userName) 时会抛出错误。

The DELETE statement conflicted with the REFERENCE constraint "FK__aspnet_Pr__UserI__3F115E1A".
The conflict occurred in database "MyDB", table "dbo.aspnet_Profile", column 'UserId'.

这是我的表键结构:

有人可以帮我解决这个问题吗?不知道。

【问题讨论】:

  • 我想你会在这里找到答案:stackoverflow.com/questions/12763229/…>
  • 我读过那篇文章,但根据@Erik 成员表上不应该有任何外键。当我尝试删除它时会抛出错误。无法删除约束。'FK_aspnet_Me_Appli_47A6A41B' 不是约束。
  • 您是否以任何方式自定义了数据库?
  • 我必须通过添加 ON DELETE CASCADE 来更改表 Profile、Users 和 Membership,然后它会正确删除用户。为什么?
  • 我只想从用户表中删除数据,而不是从 Profile 和 Membership 表中。如何在不使用 On DELETE CASCADE 的情况下实现它

标签: c# asp.net sql-server-2008 asp.net-membership


【解决方案1】:

使用 ON DELETE CASCADE

它会指定在父表中删除相应行时是否要删除子表中的行。如果您不指定级联删除,则数据库服务器的默认行为会阻止您在其他表引用某个表时删除该表中的数据。

http://publib.boulder.ibm.com/infocenter/idshelp/v10/index.jsp?topic=/com.ibm.sqls.doc/sqls292.htm

【讨论】:

    猜你喜欢
    • 2011-07-23
    • 1970-01-01
    • 2010-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-30
    • 2021-11-06
    相关资源
    最近更新 更多