Я знаю, что DeleteUser()
будет запускать процедуры для удаления всех отношений и т. Д. Будет ли внутренний внутренний DeleteData
с условием where также удалить все отношения или он просто попытается удалить основную запись из Таблица? Если какие-либо реляционные данные существуют, это вызовет ошибку?UserInfoProvider.DeleteUser() vs DeleteData (whereCondition)
0
A
ответ
1
Если вы звоните UserInfoProvider.DeleteData()
, он не удалит связанные данные. Он просто выполняет SQL-запрос удаления объекта. Он даже не ищет запрос cms.user.removedependencies
.
С другой стороны, при вызове DeleteData()
на информационном объекте будут удалены связанные данные.
Если вам необходимо массово удалить пользователей, то извлеките их из БД с помощью объектного запроса (убедитесь, что вы ограничиваете столбцы,должно быть достаточно). И затем перебираем через коллекцию вызов Delete()
на каждом из них.
foreach (var user in UserInfoProvider.GetUsers().Where("UserEnabled=0").Columns("UserID").TypedResult.Items)
{
user.Delete();
}
Благодарим за информацию! – MisterDoe