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

C# 基礎系列:自製 ORM 核心概念 (3) — 物件狀態與事務處理

     編輯:關於C語言

物件四大狀態

  1. 瞬時態:new Entity(),無資料庫對應,無實際資料
  2. 新增態:屬性已設值,未持久化,需 Insert()
  3. 持久態:從 DB 載入並修改,對應資料表某筆記錄,需 Update()
  4. 移除態:DB 記錄已刪除,物件仍在記憶體,操作應拋出錯誤

ORM 必須在 API 層面體現狀態流轉:SetProperty → Insert、Load → Modify → Update、Delete → Error。

事務處理兩種方案

方案優點缺點
TransactionScope (COM+)代碼優雅、自動管理分散式事務效能下降、曾遇 COM+ 嚴重問題
SqlTransaction (ADO.NET)輕量、效能佳、控制精確手動管理、不支援跨資源管理員

作者推薦 SqlTransaction,避免 COM+ 坑點。

O/R Mapping 實作方式

  • 自訂 Attribute 標記屬性↔欄位對應 (如 [DataField("Field3")])
  • 或使用 XML/JSON 設定檔描述映射規則 (本系列僅討論 Attribute 方式)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved