API
даря помощи, которую я получил от Zambonee нанаписать запрос, который применяется ко всей базе данных вместо таблицы
Используя EF, я пишу запрос, который возвращает userId из таблицы aspNet_Users. Затем я использую этот идентификатор для удаления записей в членстве, userINroles & users .... Однако userId, который возвращает запрос, является неправильным значением ... и я подключился к правильной БД, iv проверил connectionString и протестировал другие данные.
using (DEntities Context = DAOHelper.GetObjectContext<DEntities>())
{
Guid aspUserIdToRemove = Context.ExecuteStoreQuery<string>("Select UserId FROM aspnet_Users where UserName LIKE '%" + userName + "%'").ElementType.GUID;
string aspUserId = aspUserIdToRemove.ToString();
aspUserId = aspUserId.Replace("{", string.Empty);
aspUserId = aspUserId.Replace("}", string.Empty);
Context .ExecuteStoreCommand("DELETE FROM aspnet_Membership where UserId = '" + aspUserId + "'");
Context .ExecuteStoreCommand("DELETE FROM aspnet_UsersInRoles where UserId = '" + aspUserId + "'");
Context .ExecuteStoreCommand("DELETE FROM aspnet_Users where UserId = '" + aspUserId + "'");
aspUserIdToRemove возвращает {296afbff-1b0b-3ff5-9d6c-4e7e599f8b57}, когда он должен вернуть {31E62355-8AE2-4C44-A270-2F185581B742} ...
{296afbff-1b0b-3ff5-9d6c-4e7e599f8b57} даже не существует в БД ... у кого-нибудь есть идеи, что не так? Спасибо
Просто для подтверждения того, что вы находитесь в одной БД, я делаю дальнейшие команды удаления для разных таблиц и подтверждаю, что они удалены.
Исходя из комментариев -
var s = dnnEntitiesDbContext.ExecuteStoreQuery<string>("Select UserId FROM aspnet_Users where UserName LIKE '%" + userName + "%'");
s.elementtype.GUID содержит 296afbff-1b0b-3ff5-9d6c-4e7e599f8b57
но s.base.elementType.baseType.Guid возвращает идентификатор GUID diff'а 81c5f .... но нет признаков того, что я ищу