Dot-Net-4.0

Entity Framework 4 多對象刪除(RemoveAll)

  • May 30, 2013

我讀到新的實體框架將包含一個刪除多個項目的方法(Linq to SQL 有 DeleteAllOnSubmit()),但我找不到執行此操作的函式/方法。

這是在 Beta 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

我知道這已經晚了,但我找到了這篇文章並找到了一個更簡單的解決方案,但沒有發布。您可以在 Association 屬性中將 OnDelete 設置為 Cascade。在 VS2012 中打開 edmx 文件。點擊關聯,您將在“屬性”選項卡中找到 OnDelete。然後,您可以使用沒有觸發器或任何其他特殊處理的 Remove() 方法。

引用自:https://stackoverflow.com/questions/1781175