Entity Framework 4 Удаление нескольких объектов (RemoveAll)
-
21-09-2019 - |
Вопрос
Я читал, что новая Entity Framework будет включать метод для удаления нескольких элементов (в Linq to SQL есть DeleteAllOnSubmit()), но я не могу найти функцию/метод для этого.
Это в бета-версии 2 или мне придется сделать свою?
ОБНОВЛЯТЬ:
Это то, что я использую сейчас:
public void DeleteObjects(IEnumerable<object> objects)
{
foreach (object o in objects)
{
DeleteObject(o);
}
SaveChanges();
}
Решение
EF 4 позволяет выполнять инструкции TSQL в контексте объекта:
using (var context = new EntityFrameworkExampleEntities())
{
var count =
context.ExecuteStoreCommand(@"DELETE FROM Companies WHERE [CompanyID]=4");
}
Подробности смотрите в следующем блоге.
Другие советы
Я знаю, что уже поздно, но я нашел этот пост и нашел более простое решение, которое не было опубликовано.Вы можете установить для OnDelete значение Cascade в свойствах ассоциации.В VS2012 откройте файл edmx.Нажмите на ассоциацию, и вы найдете OnDelete на вкладке «Свойства».Затем вы можете использовать метод Remove() без триггеров или какой-либо другой специальной обработки.