Сиротливые записи в aspnetdb - PullRequest
       13

Сиротливые записи в aspnetdb

0 голосов
/ 02 октября 2009

После вызова метода

_membershipProvider.DeleteUser(user.UserName, false);

где, где вторым параметром (false) является deleteAllRelatedData, потерянные записи остаются в базе данных (таблица aspnet_Users и, возможно, больше). Какова лучшая практика для их очистки?

РЕДАКТИРОВАТЬ: пользовательский код управления уже изменен и теперь использует true в качестве второго параметра, но в нем содержится полная база данных ненужных записей. Мне интересно, как лучше их почистить. В настоящее время я смотрю на sp, предоставленный базой данных dbo.aspnet_Users_DeleteUser, ломая голову над параметром @TablesToDeleteFrom int, задаваясь вопросом, что именно это означает. Похоже на какую-то битовую маску.

Ответы [ 2 ]

2 голосов
/ 02 октября 2009

Я думаю, у вас есть выбор: Каскадное удаление или запись чего-то, что периодически запускается как задание.

Или еще лучше, как указано в комментарии Боба!

Обновление. Похоже, что теперь вы прекратили это делать, просто напишите сценарий SQL, чтобы обнаружить потерянные записи, а затем превратите его в оператор DELETE.

1 голос
/ 02 октября 2009

Если вы не хотите оставлять пустые записи, вам следует установить для второго параметра (deleteAllRelatedData) значение true. Это удалит все связанные и дочерние данные.

http://msdn.microsoft.com/en-us/library/system.web.security.membershipprovider.deleteuser.aspx

...