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

C#發現之旅第十二講:基於反射與動態編譯的快速ORM框架(上)第4部分

     編輯:關於C語言

RecordORMHelper 核心抽象契約

框架基石 RecordORMHelper 定義實體與資料庫映射的標準介面:

  • 唯讀屬性:TableName(對應資料表)、RecordFieldNames(綁定欄位名陣列)。
  • 資料讀取:ReadRecord/ReadRecords 透過 GetFieldIndexes 取得欄位序號,再呼叫抽象 InnerReadRecord 實例化實體。
  • 寫入命令初始化:FillInsertCommand、FillUpdateCommand、FillDeleteCommand 三抽象方法,回傳參數個數。

欄位索引對應演算法

GetFieldIndexes 採用雙向比對:先依 RecordFieldNames 在 IDataReader 中尋找對應序號(-1 表不存在),再反向將讀取器欄位對應回屬性索引,確保讀寫順序一致。欄位名比對使用 EqualsFieldName 忽略大小寫與資料表前綴。

設計意圖

基類封裝不變的協調邏輯(連線檢查、參數建立、索引對應),將「如何映射具體欄位」延遲至動態生成的衍生類別,實現「一次編譯、多次高速執行」的效能目標。

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