我是否使用SqlServices.Uninstall()
以编程方式从数据库中卸载ASP.NET成员资格表和其他内容。但是当表保存旧数据时,它不适用于以下错误消息:
无法卸载指定的功能,因为数据库“[DBNAME]”中的SQL表“aspnet_Membership”不为空。您必须先从表中删除所有行。
有没有办法告诉SqlServices或.NET中的任何其他类也删除这些旧数据?
答案 0 :(得分:0)
您可以使用以下方法删除数据库中的每个用户。
foreach (MembershipUser user in Membership.GetAllUsers())
Membership.DeleteUser(user.UserName, true);
SqlServices.Uninstall()
小心:
上面的代码从Uninstall方法执行1 + N(DELETE语句)+ SQL语句, 其中N ==数据库中的用户数。所以效率不高。
如果你想要更高效的东西,你必须编写自己的存储过程。