輕量級ORM《sqlcommon》第一個版本發布了!!!


一、sqlcommon的特色

1. 輕量級,整個包只有123kb。

2. 性能好,自測。。。

3. API和功能簡單、代碼簡短、可維護性好基本都能看懂。這個點我認為很重要,你不用為了實現一個需求而四處查資料,這意味着這個包你可以自行維護修改(修改版只限自己使用尊重一下作者創作權)。

4. 面向ADO.NET標准接口實現強大的兼容,不依賴具體數據庫驅動程序。支持netframwork4.5及以上,和所有兼容standard2.0的.net框架

5. 組件獨立,sqlcommon的幾大核心組件,都是可以獨立起來使用的,比如你不會寫IL你就可以利用我寫的繼續擴展查詢API

6. github:https://github.com/1448376744/SqlCommon

7. nuget:https://www.nuget.org/packages/SqlCommon

二、sqlcommon的極大核心組件

  sqlcommon分為common和expression兩個文件夾。common文件夾中包含一個輕量級的orm功能類似《dapper》980行代碼。expression文件夾中包含linq語法糖,用於自動生成sql。

1.TypeConvert-類型轉換器

這個API是用來解序列的,底層采用IL動態創建解碼函數(緩存),實際上會比直接反射性能略好

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

這個API是用於序列化對象將DataReader與實體類型進行動態綁定,底層采用IL實現

2. TypeMapper-類型映射

 這個API定義了綁定實體類型中的每個屬性的規則,在TypeMapper中有定義,你可以通過實現ITypeMapper接口,來編寫自己的TyperMapper,

來定制化屬性映射規則,屬性名和字段名映射規則。具體可以參照我的源代碼

var handler = TypeConvert.GetSerializer<Student>(new CustomMapper(), reader);

 3. SqlMapper-sql映射

支持多結果集並行查詢

  多參數類型支持

 三、linq語法糖,更多用列請查看github

如果喜歡我的這個linq但是不想使用我的sqlmapper的,可以用你喜歡的ORM實現一下IDbContext接口,然后吧SqQuery擴展到你的數據庫上下文對象上。具體可以參考我的From實現

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM