如何强制Sqlservices.Uninstall也删除旧数据?

时间:2010-10-05 08:46:42

标签: asp.net sql-server

我是否使用SqlServices.Uninstall()以编程方式从数据库中卸载ASP.NET成员资格表和其他内容。但是当表保存旧数据时,它不适用于以下错误消息:

无法卸载指定的功能,因为数据库“[DBNAME]”中的SQL表“aspnet_Membership”不为空。您必须先从表中删除所有行。

有没有办法告诉SqlServices或.NET中的任何其他类也删除这些旧数据?

1 个答案:

答案 0 :(得分:0)

您可以使用以下方法删除数据库中的每个用户。

foreach (MembershipUser user in Membership.GetAllUsers())
            Membership.DeleteUser(user.UserName, true);            
        SqlServices.Uninstall()

小心:

上面的代码从Uninstall方法执行1 + N(DELETE语句)+ SQL语句, 其中N ==数据库中的用户数。所以效率不高。

如果你想要更高效的东西,你必须编写自己的存储过程。