net下的高性能轻量化半自动orm+linq的《SqlBatis》
一、項目介紹
該項目內(nèi)置單表linq操作,xml動態(tài)sql解析,詞法分析,類型映射等功能。
SqlMapper,用來處理sql與數(shù)據(jù)庫操作,它設(shè)計的目標是支持mysql,sqlserver,sqllite,pgsql等.
TypeMapper用于完成將數(shù)據(jù)庫的字段類型映射到C#類型,內(nèi)部定義了類型轉(zhuǎn)換函數(shù)和轉(zhuǎn)換規(guī)則.
TypeConvert用于完成數(shù)據(jù)庫記錄到C#類型的轉(zhuǎn)換。通過IL動態(tài)創(chuàng)建IDataReader對象到C#實體類的轉(zhuǎn)換函數(shù)和將C#對象解構(gòu)成Key-value的函數(shù).
ExpressionContext是一個輕量的詞法分析器,用于將字符串表達式生成C#表達式,進而生成委托.
XmlResovle用于解析xml配置,如果你的項目僅需要xml動態(tài)解析功能你完全可以下載我的源碼進行改進(它在github中開源),半自動意味著超高的性能
https://github.com/1448376744/SqlBatis
二 、詞法分析器
該類型的實例是線程安全的,可復(fù)用的。它的設(shè)計及其簡單,功能也很有限,但是對于我們的需求足夠了. 它的實現(xiàn)邏輯如下:
ExpressionContext
三、XML解析
四、配置DbContext
? 方式1
?方式2
五、XML+Linq
總結(jié)
以上是生活随笔為你收集整理的net下的高性能轻量化半自动orm+linq的《SqlBatis》的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何利用Serilog的RequestL
- 下一篇: 临近年关,修复ASP.NET Core因