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

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

     編輯:關於C語言

FillUpdateCommand 代碼生成完整邏輯

生成器輸出覆寫方法簽名 → 參數檢查 → 若無鍵屬性輸出拋異常碼 → 否則:

  1. 遍歷所有可讀綁定屬性拼裝 SET Col=@Val... 片段(支援命名參數與 ? 兩種模式)。
  2. 附加 WHERE 條件(myWhereSQL)。
  3. 輸出 cmd.CommandText、cmd.Parameters.Clear()。
  4. 第二輪遍歷(綁定屬性+鍵屬性)輸出 parameter = cmd.CreateParameter() → 呼叫 WriteSetParameterValue 設定值 → 命名參數模式下設定 ParameterName → cmd.Parameters.Add。
  5. 回傳參數總數。

關鍵輔助方法 WriteSetParameterValue 依屬性型別輸出差異化賦值碼:DateTime 依 WriteFormat 格式化;string 檢查 null/空值改寫 DBNull.Value;其餘直接賦值。

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