欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-06-11 22:50:11
...

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