我知道DeleteUser()
会运行删除所有关系的程序等。具有where条件的私有内部DeleteData
是否也会删除所有关系,还是会尝试从表中删除主记录?如果存在任何关系数据会引发错误吗?
答案 0 :(得分:1)
如果您致电UserInfoProvider.DeleteData()
,则不会删除相关数据。它只是执行对象的删除SQL查询。它甚至不会查找cms.user.removedependencies
查询。
另一方面,在info对象上调用DeleteData()
会导致相关数据被删除。
如果您需要批量删除用户,请先使用对象查询从数据库中检索它们(确保限制列,UserID
应该足够)。然后遍历在每个集合上调用Delete()
的集合。
foreach (var user in UserInfoProvider.GetUsers().Where("UserEnabled=0").Columns("UserID").TypedResult.Items)
{
user.Delete();
}