2016-03-17 5 views
0

Привет всем Я использую этот код для удаления нескольких записей в таблице. но это дает мне ошибку.Ошибка при удалении нескольких строк «Объект нельзя удалить, поскольку он не был найден в ObjectStateManager».

«Объект не может быть удален, потому что он не был найден в ObjectStateManager»

Я новичок в EF, пожалуйста, помогите мне, что случилось в моем коде.

listOfEntities = список записей, которые я хочу, чтобы удалить из таблицы
U = это тип объекта

using (var db = new DMContext()) 
{ 
    db.SaveChanges(); 
} 

ответ

1

Это означает, что объект не прилагается. Вы можете попробовать, как этот

using (var db = new DMContext()) 
{ 
    db.YourTableEntity.Attach(EntityToRemove); 
    db.YourTableEntity.Remove(EntityToRemove); 
    db.SaveChanges(); 
} 

Вы не можете удалять объекты, которые отсоединяются, так что вы должны сначала прикрепить их, а затем вы можете удалить его.

Чтобы удалить несколько записей

foreach (var entity in entities) 
{ 
    Set<T>().Attach(entity); 
    Set<T>().Remove(entity); 
} 

SaveChanges(); 
+0

эй Рахул я хочу, чтобы удалить несколько записей. и одна вещь, которую я хочу сказать, используя общий метод для удаления записей. –

+0

Как я могу прикрепить несколько объектов –

+0

@ A.Q: - Обновлен мой ответ. Пожалуйста, проверьте. –

 Смежные вопросы

  • Нет связанных вопросов^_^