我正在使用MVC。如何使用LINQ to SQL刪除數據庫中的所有記錄?代碼示例將不勝感激。使用LINQ to SQL刪除數據庫中的所有記錄
4
A
回答
6
如果你想刪除表中的所有記錄,你這樣做:
context.Entities.DeleteAllOnSubmit(dc.Entities);
DeleteAllOnSubmit需要一個枚舉集合,雖然我還沒有嘗試過,它應該支持這個(如dc.Entities是一個表),它應該刪除所有的實體。
您必須對所有表格執行此操作;你不能只發出一個命令來做到這一點。或者,您可以創建一個包含所有刪除的過程,並只需將該過程添加到方法列表中即可執行該過程。
另外,要注意的是,如果您在數據庫中有相當大的結果集,那麼刪除並重新創建數據庫中的表比實際執行所有這些刪除操作(FYI)要快。
0
你不能使用linq,因爲linq只是一種查詢語言而不是數據操作語言。 改爲使用dataadapter或createstatement或sql來完成此任務。
+0
技術上我們是正確的,但從問題的上下文來看,OP意味着Linq2SQL – Midhat 2010-03-26 16:16:55
7
考慮到你指的是Linq to SQL,我認爲用一個命令行就不可能做你想做的事情(清除所有的數據庫實體)。
你可以使用SQL truncate
或delete
命令來刪除實體中的每一個,使用DataContext.ExecuteCommand
,如下:
context.ExecuteCommand("DELETE FROM EntityName");
或者
context.ExecuteCommand("TRUNCATE TABLE EntityName");
雖然,你還是要做到這一點的每個實體都要注意實體之間的關係(外鍵)。
其他參考資料:
相關問題
- 1. VB.NET LINQ to SQL刪除所有記錄
- 2. 如何使用linq-to-sql訪問數據庫中的記錄?
- 3. 如何通過LINQ to SQL更新和刪除數據庫中的記錄?
- 4. 從數據庫的所有表中刪除所有記錄
- 5. Linq to SQL:使用泛型類型方法刪除記錄
- 6. 如何使用linq從數據庫中刪除記錄?
- 7. 如何從LINQ to SQL中的子集合中刪除記錄?
- 8. 從數據庫中刪除用戶的所有記錄
- 9. 如何清理數據庫,使用sqlalchemy刪除所有記錄?
- 10. LINQ to SQL刪除記錄引用的外鍵
- 11. 如何刪除CouchDB中的數據庫中的所有記錄?
- 12. 從sqlite數據庫中的表中刪除所有記錄
- 13. LINQ to SQL。如何選擇所有記錄使用。()
- 14. Linq-to-sql用FK限制刪除記錄
- 15. 如何使用LINQ和tableadapter擦除數據庫中的所有記錄?
- 16. 從mysql數據庫的所有表中刪除一條記錄
- 17. JPA EntityManager刪除數據庫中的所有記錄
- 18. 使用LINQ to SQL創建數據庫
- 19. 對現有數據庫的LINQ to SQL
- 20. 使用Linq to SQL選擇記錄
- 21. 不是DataContext.SubmitChanges()中的所有記錄更新()(Linq to SQL)
- 22. 如何在DataGridView中使用LINQ to SQL編輯數據庫記錄?
- 23. 刪除數據庫中的記錄
- 24. 如何使用SilverLights從數據庫中刪除一行Linq-to-SQL
- 25. LINQ TO SQL;使用GridView控件插入/更新/從數據庫中刪除
- 26. 批處理腳本刪除SQL Server CE數據庫表中的所有記錄
- 27. Linq to SQL忽略第一個數據庫記錄
- 28. PHP從數據庫中刪除所有記錄+選擇當前記錄
- 29. LINQ to SQL清晰記錄
- 30. LINQ to SQL - 更新記錄
你的意思是刪除表中的所有行,或從所有表中刪除所有行? – 2010-03-25 12:19:08