首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

Hxj.Data 刪除操作:Delete 條件刪除、主鍵值刪除、實體刪除三種模式

     編輯:關於ASP.NET

三種 Delete 多載,滿足不同場景

1. 條件刪除:WhereClip

int rows = DbSession.Default.Delete(Products._.ProductID == 2);
// SQL: DELETE FROM [Products] WHERE [ProductID] = @p0

2. 主鍵值刪除:傳入主鍵值(自動對應主鍵欄位)

int rows = DbSession.Default.Delete(2);
// 等效於 Products._.ProductID == 2
// 僅適用於「單一主鍵」實體

3. 實體刪除:傳入實體實例(自動取主鍵值)

Products p = DbSession.Default.From().ToFirst();
int rows = DbSession.Default.Delete(p);
// 內部讀取 p 的主鍵值產生 WHERE 條件

警告:實體**必須有主鍵**,且主鍵值已正確設定;否則可能產生無 WHERE 的 DELETE FROM Table 導致全表清空。

回傳值

  • 受影響列數(int)。
  • 0 表示無符合記錄(未真正刪除)。
  • 交易中若發生例外,自動 Rollback。

最佳實務

  • 明確知曉主鍵值時,優先用 Delete(keyValue) 最簡潔。
  • 複雜條件刪除用 Delete(whereClip)。
  • 已載入實體物件時,用 Delete(entity) 避免重複指定主鍵。
  • **永遠在交易中執行刪除**,配合相關表級聯刪除或應用層檢查關聯完整性。

Delete API 設計極簡,三種模式涵蓋 99% 刪除場景,零學習成本、型別安全、參數化自動化。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved