Я пытаюсь удалить запись из своей таблицы с помощью EF, и ничего не происходит. Код выполняется без ошибок, но запись просто хранится в БД. У меня почти идентичный код в другом месте, который работает.Entity Framework 4 Удалить вызов не работает
using (var DB = new PTNWebConfigurationModel.PTNWebConfigurationEntities())
{
var account = DB.Accounts.Where(a => a.LoginID == loginID).FirstOrDefault();
//Load existing session for the Account, otherwise create a new one.
if (!LoadExistingSession(ip, DB, account))
{
CreateNewSession(ip, DB, account);
}
AccountsSession sessionsToDelete = DB.AccountsSessions.Where(a => a.RemoteIP == ip && a.AccountID == 1).FirstOrDefault();
if (sessionsToDelete != null)
{
DB.DeleteObject(sessionsToDelete);
DB.SaveChanges();
}
}
Я также пробовал с этими вариантами:
DB.DeleteObject(sessionsToDelete);
DB.SaveChanges(System.Data.Objects.SaveOptions.DetectChangesBeforeSave);
DB.AcceptAllChanges();
Я также начал с не использованием блока и просто и экземпляр объекта сущностей, но это не сработало.
У вас нет прилагающегося TransactionScope, который вы не комплектуете, не так ли? –
Вы можете попробовать пробную версию http://efprof.com/ – TrueWill
@Klaus: Я боюсь, что у нас есть такие вещи повсюду. Мы новичок в этом. Можете ли вы описать, что вы имеете в виду? Мы пытаемся заключить всю транзакцию в использовании блоков, но это все, что мы делаем, чтобы попытаться управлять областью. – fr0man