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

SQL Artisan 資料庫存取元件功能架構與新版規劃

     編輯:關於SqlServer

SQL Artisan 是一套針對 .NET 環境設計的資料庫存取元件,強調物件導向操作與編譯期型別檢查,大幅提升開發效率與程式碼品質。本文概述現有版本成果與下一版核心功能規劃。

現有版本亮點

  • 專案實戰驗證,新成員快速上手
  • 物件導向操作 + 編譯期偵錯,減少執行期 SQL 錯誤
  • 對應關係透過 XML 描述,支援基本資料表關聯操作

新版核心重構方向

1. 對應機制重構:Attribute 取代 XML

// 舊版:XML 描述檔
// 新版:屬性標記直接在類別定義
[Table("Employees")]
public class Employee {
    [PrimaryKey, Identity]
    [NumberField("EmployeeID")]
    public int EmployeeID { get; set; }
    
    [StringField("FirstName", 50)]
    public string FirstName { get; set; }
}
  • 消除 XML 檔案維護成本
  • IDE 智慧感知完整支援
  • 重構時自動同步欄位對應

2. 命名空間調整

相關對應成員移至 HFSoft.Data.Mapping 命名空間,架構更清晰。

3. 表格物件功能全面擴充

舊版 Table 類別僅支援關聯查詢,新版支援完整 CRUD:

資料新增

Employees.TBL.Insert(
    Employees._FirstName.Set("Fan"),
    Employees._LastName.Set("Henry"),
    Employees._BirthDate.Set(DateTime.Parse("1979-1-1"))
);

資料修改

Employees.TBL.Update(
    Employees._FirstName == "Fan",
    Employees._City.Set("GuangZhou"),
    Employees._Address.Set("TianHe"),
    Employees._Region.SetNull()
);

查詢與刪除 (規劃中)

// 強型別查詢
var emps = Employees.TBL.Select(
    Employees._City == "Taipei" && Employees._HireDate > DateTime.Now.AddYears(-1)
);

// 條件刪除
Employees.TBL.Delete(Employees._Status == "Inactive");

支援範圍擴展

  • 視圖對應:將 View 映射為唯讀實體類別
  • 統計對應:彙總查詢結果直接對應 DTO 物件
  • 繼承支援:Table 物件繼承體系,支援 TPH/TPT 模式

架構優勢總結

傳統 ADO.NETSQL Artisan
字串 SQL 散落各處強型別 LINQ 風格查詢
執行期才發現拼字錯誤編譯期即偵測欄位/資料表錯誤
手動對應 DataReader → 物件自動物件具現化與變更追蹤
參數化查詢易遺漏內建參數化,防 SQL Injection

適用場景

中大型專案、團隊開發、需長期維護、重視程式碼品質與重構安全性的系統。輕量級專案或極度效能敏感場景 (需手寫優化 SQL) 可評估 Dapper 或原生 ADO.NET。

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