日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

轻量级ORM《sqlcommon》第一个版本发布了

發布時間:2023/12/4 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 轻量级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,

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

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

?3. SqlMapper-sql映射

支持多結果集并行查詢

? 多參數類型支持

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

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

總結

以上是生活随笔為你收集整理的轻量级ORM《sqlcommon》第一个版本发布了的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。