一、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實作



轉載請註明出處,本文鏈接:https://www.uj5u.com/net/101980.html
標籤:.NET Core
