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

詳解實(shí)現(xiàn)LINQ to SQL刪除行

開發(fā) 后端
實(shí)現(xiàn)LINQ to SQL刪除行是一個細(xì)節(jié)的問題,那么在執(zhí)行LINQ to SQL刪除行的操作的時候我們會遇到什么問題呢?那么本文就向你介紹詳細(xì)的情況。

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

可以通過將對應(yīng)的 LINQ to SQL對象從其與表相關(guān)的集合中刪除來刪除數(shù)據(jù)庫中的行。LINQ to SQL 會將更改轉(zhuǎn)換為相應(yīng)的 SQL DELETE 命令。

實(shí)現(xiàn)LINQ to SQL刪除行要注意的事項(xiàng):

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

◆在數(shù)據(jù)庫的外鍵約束中設(shè)置 ON DELETE CASCADE 規(guī)則。

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

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

實(shí)現(xiàn)LINQ to SQL刪除行說明:

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

實(shí)現(xiàn)LINQ to SQL刪除行實(shí)例:

這***個代碼示例查詢數(shù)據(jù)庫中 11000 號訂單的詳細(xì)信息,將這些訂單詳細(xì)信息標(biāo)記為刪除,然后將這些更改提交到數(shù)據(jù)庫。

  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 表以查看要刪除的訂單是否有子項(xiàng)。如果訂單有子項(xiàng),則首先將子項(xiàng)標(biāo)為刪除,然后將訂單標(biāo)為刪除。 DataContext 為實(shí)際刪除設(shè)置正確的順序,以使發(fā)送到數(shù)據(jù)庫的刪除命令遵守?cái)?shù)據(jù)庫約束。

實(shí)現(xiàn)LINQ to SQL刪除行實(shí)例:

  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();  

實(shí)現(xiàn)LINQ to SQL刪除行的操作基本內(nèi)容就向你介紹到這里,希望對你了解和學(xué)習(xí)掌握實(shí)現(xiàn)LINQ to SQL刪除行有所幫助。

【編輯推薦】

  1. Linq Library概述
  2. LINQ to SQL刪除實(shí)現(xiàn)淺析
  3. LINQ to SQL刪除實(shí)現(xiàn)體會小結(jié)
  4. LINQ刪除記錄的操作實(shí)現(xiàn)
  5. 實(shí)現(xiàn)LINQ刪除數(shù)據(jù)的巧妙方法
責(zé)任編輯:仲衡 來源: MSDN
相關(guān)推薦

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重復(fù)行

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刪除數(shù)據(jù)

2009-04-02 10:37:52

通用基類SQLLINQ

2009-09-08 14:45:24

Linq to SQL支持SQL Serve

2009-09-14 16:12:57

LINQ刪除記錄

2009-09-14 15:45:28

LINQ刪除XML節(jié)點(diǎn)

2009-09-15 14:52:15

linq級聯(lián)刪除

2009-09-07 17:09:45

Linq To Sql

2009-09-08 13:07:15

介紹Linq to S

2009-09-10 10:37:15

LINQ to SQL

2009-09-09 18:03:47

LINQ to SQL
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 欧美一级做性受免费大片免费 | 欧美一级片在线看 | 国产日韩在线观看一区 | 欧美视频免费在线 | 欧美v日韩| 97操操| 久久青青| 亚洲二区在线 | 免费观看羞羞视频网站 | 高清黄色网址 | 精品国产乱码久久久久久老虎 | 欧美区日韩区 | 国产精品乱码一二三区的特点 | 99国产精品视频免费观看一公开 | 亚洲在线免费观看 | 久久er99热精品一区二区 | 成人精品视频在线观看 | 视频1区2区 | 亚洲人成人一区二区在线观看 | 久久1区| 91九色porny首页最多播放 | 久久精品免费一区二区 | 日韩欧美国产一区二区三区 | 亚洲精品久久久一区二区三区 | 狠狠草视频 | 国产免费一区二区 | 亚洲国产精品网站 | 天天干夜夜操视频 | 欧美一级片在线观看 | 久久不卡视频 | 日韩和的一区二在线 | 超碰免费在线 | www.久久久久久久久久久 | 国产成人免费视频 | 亚洲视频 欧美视频 | wwwxxx国产 | 欧美久久久久久 | 亚洲一区综合 | av一级久久 | 欧美日韩视频在线 | 爱爱视频在线观看 |