Datory 介紹

Datory 在流行的 Dapper 框架 (opens new window)以及 SqlKata 框架 (opens new window)基礎上開(kāi)發(fā)而來,簡化了操作接口并增加了默認設置,作爲 XYCMS 默認的 ORM 數據庫操作框架,Datory 能(néng)夠以優雅的方式執行數據庫查詢以及執行操作。

Datory 版本号與 XYCMS 系統版本号一緻,每次 XYCMS 系統更新時(shí) Datory 版本也將(jiāng)随之更新,Datory 源碼與 XYCMS 源碼位于同一個源碼倉庫 (opens new window),NuGet 托管地址:https://www.nuget.org/packages/Datory 。

Datory 框架使用參數綁定技術來保護 XYCMS 系統及其插件免受 SQL 注入攻擊,無需清理作爲綁定傳遞的字符串。

除了防止 SQL 注入攻擊之外,Datory 框架還(hái)集成(chéng)了 Redis 支持,通過(guò)讓 SQL 引擎緩存和重用相同的查詢計劃來加快查詢執行速度,同時(shí) Datory 框架 支持 MySQL、SQLServer、PostgreSql 以及 Sqlite 多種(zhǒng)數據庫類型。

示例:

var repository = new Repository<DataModel>(settingsManager.Database, settingsManager.Redis);

await repository.GetAllAsync<string>(Q
    .Select("Name")
    .Where("GroupId", 100)
    .Limit(10)
    .OrderByDesc("Id")
);
1
2
3
4
5
6
7
8

以上代碼首先從 settingsManager 中獲取數據庫鏈接信息并創建數據倉庫 repository,倉庫的數據源映射至 DataModel 實體類,然後(hòu)設置 Where 查詢條件,按 Id 字段倒序排序并限制最高獲取10條數據,最後(hòu)返回 Name 字段的列表值。

安裝

XYCMS API 默認包含了 Datory 框架依賴,如果開(kāi)發(fā)插件使用 Datory 框架,隻需要安裝 XYCMS 依賴包,無需單獨安裝 Datory 依賴包。

如果獨立使用 Datory 框架,可以從終端運行以下命令以將(jiāng)其包含在您的項目中。

dotnet add package Datory
1