成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳解實現LINQ to SQL刪除行

開發 后端
實現LINQ to SQL刪除行是一個細節的問題,那么在執行LINQ to SQL刪除行的操作的時候我們會遇到什么問題呢?那么本文就向你介紹詳細的情況。

實現LINQ to SQL刪除行是用到什么方法呢?具體的步驟又是什么呢?那么我們下面來具體看看在數據庫中如何實現LINQ to SQL刪除行的操作。希望對你了解和掌握這個技術有所幫助。

可以通過將對應的 LINQ to SQL對象從其與表相關的集合中刪除來刪除數據庫中的行。LINQ to SQL 會將更改轉換為相應的 SQL DELETE 命令。

實現LINQ to SQL刪除行要注意的事項:

LINQ to SQL不支持且無法識別級聯刪除操作。如果要在對行有約束的表中刪除行,則必須完成以下任務之一:

◆在數據庫的外鍵約束中設置 ON DELETE CASCADE 規則。

◆使用自己的代碼首先刪除阻止刪除父對象的子對象。

否則會引發異常。請參見本主題中后面的第二個代碼示例。

實現LINQ to SQL刪除行說明:

您可以重寫 Insert、Update 和 Delete 數據庫操作的 LINQ to SQL默認方法。有關更多信息,請參見 自定義插入、更新和刪除操作 (LINQ to SQL)。使用 Visual Studio 的開發人員可以使用 對象關系設計器 來開發用于實現相同目的的存儲過程。有關更多信息,請參見 對象關系設計器(O/R 設計器).以下步驟假定您已通過有效的 DataContext 連接到 Northwind 數據庫。有關更多信息,請參見 如何:連接到數據庫 (LINQ to SQL)。刪除數據庫中的行查詢數據庫中要刪除的行。調用 DeleteOnSubmit 方法。將更改提交到數據庫。

實現LINQ to SQL刪除行實例:

這***個代碼示例查詢數據庫中 11000 號訂單的詳細信息,將這些訂單詳細信息標記為刪除,然后將這些更改提交到數據庫。

  1. // Query the database for the rows to be deleted.  
  2. var deleteOrderDetails =  
  3. from details in db.OrderDetails  
  4. where details.OrderID == 11000  
  5. select details;  
  6.  
  7. foreach (var detail in deleteOrderDetails)  
  8. {  
  9. db.OrderDetails.DeleteOnSubmit(detail);  
  10. }  
  11.  
  12. try 
  13. {  
  14. db.SubmitChanges();  
  15. }  
  16. catch (Exception e)  
  17. {  
  18. Console.WriteLine(e);  
  19. // Provide for exceptions.  
  20. }  

在第二個示例中,目的是刪除訂單(10250 號)。代碼首先檢查 OrderDetails 表以查看要刪除的訂單是否有子項。如果訂單有子項,則首先將子項標為刪除,然后將訂單標為刪除。 DataContext 為實際刪除設置正確的順序,以使發送到數據庫的刪除命令遵守數據庫約束。

實現LINQ to SQL刪除行實例:

  1. Northwnd db = new Northwnd(@"c:\northwnd.mdf");  
  2.  
  3. db.Log = Console.Out;  
  4.  
  5. // Specify order to be removed from database  
  6. int reqOrder = 10250;  
  7.  
  8. // Fetch OrderDetails for requested order.  
  9. var ordDetailQuery =  
  10. from odq in db.OrderDetails  
  11. where odq.OrderID == reqOrder  
  12. select odq;  
  13.  
  14. foreach (var selectedDetail in ordDetailQuery)  
  15. {  
  16. Console.WriteLine(selectedDetail.Product.ProductID);  
  17. db.OrderDetails.DeleteOnSubmit(selectedDetail);  
  18. }  
  19.  
  20. // Display progress.  
  21. Console.WriteLine("detail section finished.");  
  22. Console.ReadLine();  
  23.  
  24. // Determine from Detail collection whether parent exists.  
  25. if (ordDetailQuery.Any())  
  26. {  
  27. Console.WriteLine(  
  28. "The parent is presesnt in the Orders collection.");  
  29. // Fetch Order.  
  30. try 
  31. {  
  32. var ordFetch =  
  33. (from ofetch in db.Orders  
  34.  where ofetch.OrderID == reqOrder  
  35.  select ofetch).First();  
  36. db.Orders.DeleteOnSubmit(ordFetch);  
  37. Console.WriteLine(  
  38. "{0} OrderID is marked for deletion.",  
  39.  ordFetch.OrderID);  
  40. }  
  41. catch (Exception e)  
  42. {  
  43. Console.WriteLine(e.Message);  
  44. Console.ReadLine();  
  45. }  
  46. }  
  47. else 
  48. {  
  49. Console.WriteLine(  
  50. "There was no parent in the Orders collection.");  
  51. }  
  52.  
  53.  
  54. // Display progress.  
  55. Console.WriteLine("Order section finished.");  
  56. Console.ReadLine();  
  57.  
  58. try 
  59. {  
  60. db.SubmitChanges();  
  61. }  
  62. catch (Exception e)  
  63. {  
  64. Console.WriteLine(e.Message);  
  65. Console.ReadLine();  
  66. }  
  67.  
  68. // Display progress.  
  69. Console.WriteLine("Submit finished.");  
  70. Console.ReadLine();  

實現LINQ to SQL刪除行的操作基本內容就向你介紹到這里,希望對你了解和學習掌握實現LINQ to SQL刪除行有所幫助。

【編輯推薦】

  1. Linq Library概述
  2. LINQ to SQL刪除實現淺析
  3. LINQ to SQL刪除實現體會小結
  4. LINQ刪除記錄的操作實現
  5. 實現LINQ刪除數據的巧妙方法
責任編輯:仲衡 來源: MSDN
相關推薦

2010-09-01 15:30:24

SQL刪除

2009-09-14 09:46:00

LINQ to SQL

2009-09-14 10:12:11

LINQ to SQL

2009-09-18 14:51:19

LINQ TO SQL

2010-08-04 09:55:34

LINQ to SQL

2009-09-14 10:29:02

LINQ刪除記錄

2009-04-20 15:54:04

SQL Server重復行

2010-06-17 09:30:44

LINQ to SQL

2010-01-18 09:55:30

VB.NET刪除空白行

2009-09-08 17:27:18

LINQ to Dat

2009-09-14 10:45:33

LINQ刪除數據

2009-09-08 14:45:24

Linq to SQL支持SQL Serve

2009-04-02 10:37:52

通用基類SQLLINQ

2009-09-14 15:45:28

LINQ刪除XML節點

2009-09-15 14:52:15

linq級聯刪除

2009-09-09 14:40:43

Linq to sql

2009-09-10 11:29:00

LINQ to SQL

2009-09-11 12:08:09

Linq to SQL

2009-09-11 12:13:40

LINQ to SQL

2009-09-15 17:07:24

Linq To SQL
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品久久久久久久免费大片 | 欧美国产精品 | 日韩a视频 | 一级免费看片 | 亚洲国产精品美女 | 亚洲一区二区三区国产 | a级大毛片| 亚洲日本欧美日韩高观看 | 91中文字幕在线观看 | 精品久久久久久一区二区 | 亚洲精久久久 | 成人高清在线 | 国产精品欧美一区二区三区 | 午夜精品久久久久久久99黑人 | 97精品国产97久久久久久免费 | 国产精品一区二区福利视频 | 成人免费在线网 | 精品久久久久久亚洲综合网 | 国产精品久久久久久久久久久久久 | 在线黄| 99re6在线视频精品免费 | 国产一区三区在线 | 国产丝袜人妖cd露出 | 欧美韩一区二区三区 | 日韩中文字幕视频在线观看 | 成人国产在线视频 | 综合色婷婷 | jⅰzz亚洲| 亚洲精选一区二区 | 国产成人网| 黄色一级在线播放 | 午夜免费视频 | 久草院线 | 一级毛片视频 | 毛片免费观看 | 青青草原综合久久大伊人精品 | 日韩成人在线一区 | 欧美在线视频观看 | 一级做a毛片 | 一区二区高清在线观看 | 亚洲综合精品 |