一、Expression2Sql介紹
Expression2Sql是一個可以將Expression表達式樹解析成Transact-SQL的項目。簡單易用,幾分鍾即可上手使用,因為博主在設計Expression2Sql的時候就盡可能的按照Transact-SQL的語法語義風格來設計,只要調用者熟悉基本的Transact-SQL語法即可瞬間無憂開碼,大大降低了學習Expression2Sql的成本,甚至零成本。對象化操作,鏈式編程,支持多表復雜關聯查詢,任意組裝sql,自動生成表別名,參數化賦值,防止sql注入,支持SQLServer、MySQL、Oracle、SQLite等多數據庫,生成極度美觀的sql字符串(格式化),優點A,優點B,優點C,優點...還是等你來發現吧! O(∩_∩)O~
由於insert操作基本上是純反射,很難和表達式樹掛上鈎,所以就不提供insert操作的方法了。Expression2Sql目前推出的首個版本是1.0,所以功能完善程度不高,只能做一些簡單的表達式樹解析成sql的操作。后期博主會持續更新維護,陸陸續續的增加智能緩存、日志埋點、sql監控、sql合法性檢查等,讓Expression2Sql逐漸的日益完善。
Expression2Sql的設計初衷就是職責非常單一、干凈清爽,純粹就是輸入表達式樹,然后經過它的解析之后,便可返回Transact-SQL給調用方。所以它的使用場景主要是用於和第三方的ORM或者是基於ado.net的原生DbHelper幫助類做對接,使其能夠支持對象化、表達式樹的鏈式編程。
拉轟兮兮的YY了這么久,那么接下來博主將以圖文並茂的方式來展示一下Expression2Sql的使用示例。
二、單表簡單查詢
三、Where條件
3.1、where like
3.2、where in
3.3、多個 where 條件組合
四、多表關聯查詢
4.1、join
4.2、inner join
4.3、left join
4.4、right join
4.5、full join
4.6、多表復雜關聯查詢
五、group by
六、order by
七、函數
八、delete 刪除
九、update 更新