Конечно, прежде чем делать что-либо, убедитесь, что у вас есть резервная копия вашей базы данных.
В зависимости от используемых вами функций, вы можете уйти с помощью оператора SQL. Из-за сложности ссылок пользователя на несколько других таблиц оператор SQL может быть довольно сложным, и вам нужно обязательно удалить другие ссылки перед удалением фактической записи пользователя.
I ' Очень рекомендую подход API и удалять пользователей через API, чтобы он автоматически удалял все ссылки для вас. В своих вызовах API убедитесь, что вы добавили действие удаления в следующее, чтобы оно не регистрировало события и другие трудоемкие действия, которые не нужны.
using (var context = new CMSActionContext())
{
context.DisableAll();
// delete your user
}
В вашем коде я бы выбирал только первые 100 или около того и удалял их партиями. Предполагая, что вам не нужно делать это все за один прогон, вы можете позволить запланированному заданию запустить ваш пользовательский код в течение недели и посмотреть, где вы находитесь.
Если ничего не помогло, подумайте, как удалить пользователя и более 70 ссылок на внешние ключи, и вы получите золотую медаль.