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

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

     編輯:關於C語言

RecordORMHelper 基礎類別補充

基礎抽象類別 RecordORMHelper 除核心抽象成員外,還提供多個受保護工具方法供動態生成的衍生類別呼叫:

  • 日期轉換:DateTimeToDBValue(DateTime, string) 依格式字串將日期轉為資料庫可接受格式。
  • 型別轉換群:ConvertToByte、ConvertToSByte 等,統一處理 null/DBNull 並提供預設值回退。
  • 字串拼接:ConcatStrings(IEnumerable) 以逗號連接字串集合。
  • 欄位名比對:EqualsFieldName 忽略大小寫與資料表前綴,支援 "Table.Col" 與 "Col" 視為相等。

實體類型註冊列表實作

框架核心模組 MyFastORMFramework 以靜態 Hashtable myRecordHelpers 維護註冊表:Key 為實體 Type,Value 為對應的 RecordORMHelper 實例(未編譯完成時為 null)。

RegisterType 註冊入口

public void RegisterType(Type t) {
    if (!myRecordHelpers.ContainsKey(t)) {
        this.GetBindProperties(t);  // 驗證實體合法性
        myRecordHelpers[t] = null;  // 佔位,等待 BuildHelpers 填入實例
    }
}

註冊僅做驗證與佔位,不立即觸發編譯,支援批次註冊後一次性編譯,降低啟動開銷。

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