using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using SqlSugar; namespace OrmTest { public class UCustom03 { public static void Init() { Demo1(); } private static void Demo1() { var db = NewUnitTest.Db; List conModels = new List(); conModels.Add(new ConditionalModel() { FieldName = "id", ConditionalType = ConditionalType.NoEqual, FieldValue = "1" }); conModels.Add(new ConditionalModel() { FieldName = "id", ConditionalType = ConditionalType.IsNot, FieldValue = null });// id is not null conModels.Add(new ConditionalTree() { ConditionalList = new List>()// (id=1 or id=2 and id=1) { //new KeyValuePair( WhereType.And ,new ConditionalModel() { FieldName = "id", ConditionalType = ConditionalType.Equal, FieldValue = "1" }), new KeyValuePair (WhereType.Or,new ConditionalModel() { FieldName = "id", ConditionalType = ConditionalType.Equal, FieldValue = "2" }), new KeyValuePair ( WhereType.And, new ConditionalTree(){ ConditionalList=new List>(){ new KeyValuePair(WhereType.And,new ConditionalModel(){ FieldName = "id", ConditionalType = ConditionalType.Equal, FieldValue = "1" }) } }) } }); var json = db.Context.Utilities.SerializeObject(conModels); var list6 =db .Queryable().Where(conModels).ToList(); Demo2(); } private static void Demo2() { var db = NewUnitTest.Db; List conModels = new List(); conModels.Add(new ConditionalTree() { ConditionalList = new List>()// (id=1 or id=2 and id=1) { //new KeyValuePair( WhereType.And ,new ConditionalModel() { FieldName = "id", ConditionalType = ConditionalType.Equal, FieldValue = "1" }), new KeyValuePair (WhereType.Or,new ConditionalModel() { FieldName = "id", ConditionalType = ConditionalType.Equal, FieldValue = "2" }), new KeyValuePair ( WhereType.And, new ConditionalTree(){ ConditionalList=new List>(){ new KeyValuePair(WhereType.And,new ConditionalModel(){ FieldName = "id", ConditionalType = ConditionalType.Equal, FieldValue = "1" }) } }) } }); conModels.Add(new ConditionalModel() { FieldName = "id", ConditionalType = ConditionalType.NoEqual, FieldValue = "1" }); conModels.Add(new ConditionalModel() { FieldName = "id", ConditionalType = ConditionalType.IsNot, FieldValue = null });// id is not null var json = db.Context.Utilities.SerializeObject(conModels); var list6 = db.Queryable().Where(conModels).ToList(); Demo3(); } private static void Demo3() { var db = NewUnitTest.Db; List conModels = new List(); conModels.Add(new ConditionalTree() { ConditionalList = new List>()// (id=1 or id=2 and id=1) { //new KeyValuePair( WhereType.And ,new ConditionalModel() { FieldName = "id", ConditionalType = ConditionalType.Equal, FieldValue = "1" }), new KeyValuePair (WhereType.Or,new ConditionalModel() { FieldName = "id", ConditionalType = ConditionalType.Equal, FieldValue = "2" }), new KeyValuePair ( WhereType.And, new ConditionalTree(){ ConditionalList=new List>(){ new KeyValuePair(WhereType.Or,new ConditionalModel(){ FieldName="ID", ConditionalType=ConditionalType.Equal, FieldValue="1" }), new KeyValuePair(WhereType.And,new ConditionalModel(){ FieldName = "id", ConditionalType = ConditionalType.Equal, FieldValue = "1" }) } }) } }); conModels.Add(new ConditionalModel() { FieldName = "id", ConditionalType = ConditionalType.NoEqual, FieldValue = "1" }); conModels.Add(new ConditionalModel() { FieldName = "id", ConditionalType = ConditionalType.IsNot, FieldValue = null });// id is not null var json = db.Context.Utilities.SerializeObject(conModels); var list6 = db.Queryable().Where(conModels).ToList(); } } }