调用方法后
_membershipProvider.DeleteUser(user.UserName, false);在第二个参数(false)为deleteAllRelatedData的情况下,孤立条目保留在数据库(aspnet_Users表或更多表)中。清理这些问题的最佳实践是什么?
编辑:用户管理代码现在已经更改为使用true作为第二个参数,但它留下了一个充满垃圾条目的数据库。我想知道怎样才是最好的清理方法。我目前正在研究随数据库dbo.aspnet_Users_DeleteUser提供的sp,它对参数@TablesToDeleteFrom int感到困惑,想知道它到底是什么意思。看起来像某种位掩码。
发布于 2009-10-02 15:26:19
我猜您可以选择Cascade delete,也可以选择编写定期作为作业运行的程序。
或者更好的做法是按照Bob的评论所说的去做!
Update-听起来您现在已经阻止了这种情况的发生,只需编写一个SQL脚本来检测孤立的记录,然后将其转换为DELETE语句。
发布于 2009-10-02 15:28:05
如果不想留下孤立条目,那么应该将第二个参数(deleteAllRelatedData)设置为true。它将删除所有相关数据和子数据。
http://msdn.microsoft.com/en-us/library/system.web.security.membershipprovider.deleteuser.aspx
https://stackoverflow.com/questions/1510232
复制相似问题