中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么實現LINQ to SQL刪除行

發布時間:2021-11-24 09:27:33 來源:億速云 閱讀:234 作者:柒染 欄目:編程語言

這期內容當中小編將會給大家帶來有關怎么實現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 號訂單的詳細信息,將這些訂單詳細信息標記為刪除,然后將這些更改提交到數據庫。

// Query the database for the rows to be deleted.  var deleteOrderDetails =  from details in db.OrderDetails  where details.OrderID == 11000  select details;   foreach (var detail in deleteOrderDetails)  {  db.OrderDetails.DeleteOnSubmit(detail);  }   try {  db.SubmitChanges();  }  catch (Exception e)  {  Console.WriteLine(e);  // Provide for exceptions.  }

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

實現LINQ to SQL刪除行實例:

Northwnd db = new Northwnd(@"c:\northwnd.mdf");   db.Log = Console.Out;   // Specify order to be removed from database  int reqOrder = 10250;   // Fetch OrderDetails for requested order.  var ordDetailQuery =  from odq in db.OrderDetails  where odq.OrderID == reqOrder  select odq;   foreach (var selectedDetail in ordDetailQuery)  {  Console.WriteLine(selectedDetail.Product.ProductID);  db.OrderDetails.DeleteOnSubmit(selectedDetail);  }   // Display progress.  Console.WriteLine("detail section finished.");  Console.ReadLine();   // Determine from Detail collection whether parent exists.  if (ordDetailQuery.Any())  {  Console.WriteLine(  "The parent is presesnt in the Orders collection.");  // Fetch Order.  try {  var ordFetch =  (from ofetch in db.Orders   where ofetch.OrderID == reqOrder   select ofetch).First();  db.Orders.DeleteOnSubmit(ordFetch);  Console.WriteLine(  "{0} OrderID is marked for deletion.",   ordFetch.OrderID);  }  catch (Exception e)  {  Console.WriteLine(e.Message);  Console.ReadLine();  }  }  else {  Console.WriteLine(  "There was no parent in the Orders collection.");  }    // Display progress.  Console.WriteLine("Order section finished.");  Console.ReadLine();   try {  db.SubmitChanges();  }  catch (Exception e)  {  Console.WriteLine(e.Message);  Console.ReadLine();  }   // Display progress.  Console.WriteLine("Submit finished.");  Console.ReadLine();

上述就是小編為大家分享的怎么實現LINQ to SQL刪除行了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

岳阳县| 静乐县| 富阳市| 耿马| 大丰市| 卓资县| 黄石市| 江川县| 工布江达县| 安达市| 金寨县| 从江县| 湄潭县| 福贡县| 东乌珠穆沁旗| 扬中市| 鹤庆县| 金溪县| 温泉县| 临高县| 治县。| 宣汉县| 苏尼特右旗| 望谟县| 清徐县| 郯城县| 惠来县| 焦作市| 肇庆市| 上犹县| 洪泽县| 清河县| 宁河县| 神木县| 南昌市| 大埔区| 墨脱县| 昌宁县| 普兰县| 海安县| 昭觉县|