net下的高性能轻量化半自动orm+linq的《SqlBatis》
一、項(xiàng)目介紹
該項(xiàng)目內(nèi)置單表linq操作,xml動態(tài)sql解析,詞法分析,類型映射等功能。
SqlMapper,用來處理sql與數(shù)據(jù)庫操作,它設(shè)計(jì)的目標(biāo)是支持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#實(shí)體類的轉(zhuǎn)換函數(shù)和將C#對象解構(gòu)成Key-value的函數(shù).
ExpressionContext是一個輕量的詞法分析器,用于將字符串表達(dá)式生成C#表達(dá)式,進(jìn)而生成委托.
XmlResovle用于解析xml配置,如果你的項(xiàng)目僅需要xml動態(tài)解析功能你完全可以下載我的源碼進(jìn)行改進(jìn)(它在github中開源),半自動意味著超高的性能
https://github.com/1448376744/SqlBatis
二 、詞法分析器
該類型的實(shí)例是線程安全的,可復(fù)用的。它的設(shè)計(jì)及其簡單,功能也很有限,但是對于我們的需求足夠了. 它的實(shí)現(xiàn)邏輯如下:
ExpressionContext
三、XML解析
四、配置DbContext
? 方式1
?方式2
五、XML+Linq
總結(jié)
以上是生活随笔為你收集整理的net下的高性能轻量化半自动orm+linq的《SqlBatis》的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何利用Serilog的RequestL
- 下一篇: 【实战 Ids4】║ 在Swagger中