System.Linq.Dynamic的使用

項目中常常用到組合條件查詢,根據用戶配置的查詢條件進行搜索,拼接SQL容易形成SQL注入,普通的LINQ能夠用表達式樹來完成,但也比較麻煩。有個System.Linq.Dynamic用起來比較方便。spa

NuGet:code

Install-Package System.Linq.Dynamic

大體的用法是這樣的:blog

//NULL類型判斷
var query = dbContext.sys_user.Where("userid!=null").OrderBy("id desc");

//整形的查詢
var query = dbContext.sys_user.Where("id>0").OrderBy("id desc");

//整形的查詢 帶參數
var query = dbContext.sys_user.Where("id>@0", 2).OrderBy("id desc");

//字符型查詢
var query = dbContext.sys_user.Where("username=\"張三\").OrderBy("id desc");

//like查詢
var query = dbContext.sys_user.Where("username.Contains(\"key\")").OrderBy("id desc");

//日期類型
var query = dbContext.sys_user.Where("createtime <= @0", DateTime.Now).OrderBy("id desc");

//組合條件
var query = dbContext.sys_user.Where("id>0 and username=\"張三\"").OrderBy("id desc");
相關文章
相關標籤/搜索