对于ExtLinq.True<Model>()和ExtLinq.False<Model>()的一点理解
//1.ExtLinq.True的理解
string sql1 = "select * from tableA";
//ExtLinq.True就相当于下面sql语句中的“1=1”,自身就是 真,
//后面条件必须是相与,也就是and关系才会生效,
//若为或的关系(or),则“1=1” or 任何条件都为真,没有意义
var expression = ExtLinq.True<Model>();
//sql语句部分
sql1 + "where 1=1"
+ string.isNUllOrWriteSpace(Name)?"":" and TName=Name"
+ string.isNUllOrWriteSpace(Phone)?"":" and TPhone=Phone"
//linq to entity 条件动态添加
expression = expression.And(t => t.id== id);//条件相与 “1=1” and “id = id”
//2.ExtLinq.False的理解
string sql2 = "select * from tableA";
//ExtLinq.True就相当于下面sql语句中的“1!=1”,自身就是 假,
//后面条件必须是相或,也就是or关系才会生效,
//若为与的关系(and),则“1!=1” and 任何条件都为假,没有意义
var expression1 = ExtLinq.False<Model>()
//sql语句部分
sql2 + "where 1!=1"
+ string.isNUllOrWriteSpace(Name)?"":" or TName=Name"
+ string.isNUllOrWriteSpace(Phone)?"":" or TPhone=Phone"
//linq to entity 条件动态添加
expression = expression1.or(t => t.id== id);//条件相或 “1!=1” or“id = id”