当前位置: 代码迷 >> 综合 >> 理解ExtLinq.True<Model>()和ExtLinq.False<Model>()
  详细解决方案

理解ExtLinq.True<Model>()和ExtLinq.False<Model>()

热度:81   发布时间:2024-02-08 08:01:53.0

 对于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”

 

  相关解决方案