Entity Framework 4 Удаление нескольких объектов (RemoveAll)

StackOverflow https://stackoverflow.com/questions/1781175

  •  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");            
    }

Подробности смотрите в следующем блоге.

http://blogs.microsoft.co.il/blogs/gilf/archive/2009/11/25/execute-t-sql-statements-in-entity-framework-4.aspx

Другие советы

Я знаю, что уже поздно, но я нашел этот пост и нашел более простое решение, которое не было опубликовано.Вы можете установить для OnDelete значение Cascade в свойствах ассоциации.В VS2012 откройте файл edmx.Нажмите на ассоциацию, и вы найдете OnDelete на вкладке «Свойства».Затем вы можете использовать метод Remove() без триггеров или какой-либо другой специальной обработки.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top