有 Expressionable 转 sql 语句的接口或者方法吗?
idea-zone opened this issue · comments
idea-zone commented
大概的应用场景是下面的:
// 假设正在对部门表进行检索,传入了下面的参数作为过滤条件,获取数据
Department dept = new Department();
dept.Id = 11;
dept.DeptName = "测试";
// 定义过滤条件
var predicate = Expressionable.Create<Department>();
predicate = predicate.And(it => it.IsDeleted == false);
predicate = predicate.AndIF( string.IsNullOrWhiteSpace(dept.DeptName), it => it.DeptName.Contains(dept.DeptName));
// 这里直接生成条件部分对应的 Sql 语句 (这是核心需求)
var appendSql = predicate.转SQL条件语句();
// 下一步想实现的用法,因为某些原因【主要没精力重写旧系统】【还有一个原因是这样用Ado的时候会方便很多】,需要兼容旧的接口,切换 Sqlsugar 和 Ado 操作
string strSQL= $"select * from department where {appendSql }";
var table = _dbClient.Ado.GetDataTable(strSQL);
果糖网 commented
https://www.donet5.com/Home/Doc?typeId=2359
有的可以将表达式转成sql看标题2
idea-zone commented
感谢
https://www.donet5.com/Home/Doc?typeId=2359 有的可以将表达式转成sql看标题2