2013-03-03 96 views

回答

1

您需要首先檢索要刪除的對象。 例如:

// Assuming ID is primary key in `Customer` entity 
Customer cust = (from c in context.Customers where c.ID = "1" select c); 

然後刪除對象使用DataContext.entity.DeleteObject

context.Customers.DeleteObject(cust); 
context.SaveChanges(); 

更多:DataContext

+0

謝謝,我不能一次刪除fow行嗎?例如所有產品來自'A'。 – 2013-03-03 12:34:04

0

所有你需要從數據庫實體創建實例,在這之後,你應該選擇首先你然後將其刪除:

TestEntities db = new TestEntities(); 
Test ts = (from rows in db.Tests 
      where rows.ID == 1 
      select rows).FirstOrDefault(); 
if (ts != null) 
{ 
    db.Tests.DeleteObject(ts); 
    db.SaveChanges(); 
} 

更新:

如果您的結果集是一個列表,我的意思是你可以使用此解決方案不止一個記錄:

List<Test> lst = (from rows in db.Tests select rows).ToList(); 
foreach (Test item in lst) 
{ 
    db.Tests.DeleteObject(item); 
} 
db.SaveChanges(); 
1

回帖告訴你,你需要首先獲取對象(嚴格地說鍵是足夠的,但你需要手動做一些工作)到內存中,並標記爲刪除,最後致電SaveChanges。雖然這是「正常」的方法,但還有一堆擴展,助手,......可以讓你做批量刪除,批量更新和其他有用的東西。

您可以檢查EntityFramework.Extended(也在GitHub)或Entity Framework Extensions(也有源代碼)。

相關問題