SqlSugar/Src/Asp.Net/SqlServerTest/UnitTest/UCustom03.cs

104 lines
5.4 KiB
C#
Raw Normal View History

2021-12-25 20:28:38 +08:00
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<IConditionalModel> conModels = new List<IConditionalModel>();
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<KeyValuePair<WhereType, IConditionalModel>>()// (id=1 or id=2 and id=1)
{
//new KeyValuePair<WhereType, ConditionalModel>( WhereType.And ,new ConditionalModel() { FieldName = "id", ConditionalType = ConditionalType.Equal, FieldValue = "1" }),
new KeyValuePair<WhereType, IConditionalModel> (WhereType.Or,new ConditionalModel() { FieldName = "id", ConditionalType = ConditionalType.Equal, FieldValue = "2" }),
new KeyValuePair<WhereType, IConditionalModel> ( WhereType.And, new ConditionalTree(){
ConditionalList=new List<KeyValuePair<WhereType, IConditionalModel>>(){
new KeyValuePair<WhereType, IConditionalModel>(WhereType.And,new ConditionalModel(){
FieldName = "id", ConditionalType = ConditionalType.Equal, FieldValue = "1"
})
}
})
}
});
2021-12-25 21:34:55 +08:00
var json = db.Context.Utilities.SerializeObject(conModels);
2021-12-25 20:28:38 +08:00
var list6 =db .Queryable<Order>().Where(conModels).ToList();
2021-12-25 21:34:55 +08:00
Demo2();
}
private static void Demo2()
{
var db = NewUnitTest.Db;
List<IConditionalModel> conModels = new List<IConditionalModel>();
conModels.Add(new ConditionalTree()
{
ConditionalList = new List<KeyValuePair<WhereType, IConditionalModel>>()// (id=1 or id=2 and id=1)
{
//new KeyValuePair<WhereType, ConditionalModel>( WhereType.And ,new ConditionalModel() { FieldName = "id", ConditionalType = ConditionalType.Equal, FieldValue = "1" }),
new KeyValuePair<WhereType, IConditionalModel> (WhereType.Or,new ConditionalModel() { FieldName = "id", ConditionalType = ConditionalType.Equal, FieldValue = "2" }),
new KeyValuePair<WhereType, IConditionalModel> ( WhereType.And, new ConditionalTree(){
ConditionalList=new List<KeyValuePair<WhereType, IConditionalModel>>(){
new KeyValuePair<WhereType, IConditionalModel>(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<Order>().Where(conModels).ToList();
Demo3();
}
private static void Demo3()
{
var db = NewUnitTest.Db;
List<IConditionalModel> conModels = new List<IConditionalModel>();
conModels.Add(new ConditionalTree()
{
ConditionalList = new List<KeyValuePair<WhereType, IConditionalModel>>()// (id=1 or id=2 and id=1)
{
//new KeyValuePair<WhereType, ConditionalModel>( WhereType.And ,new ConditionalModel() { FieldName = "id", ConditionalType = ConditionalType.Equal, FieldValue = "1" }),
new KeyValuePair<WhereType, IConditionalModel> (WhereType.Or,new ConditionalModel() { FieldName = "id", ConditionalType = ConditionalType.Equal, FieldValue = "2" }),
new KeyValuePair<WhereType, IConditionalModel> ( WhereType.And, new ConditionalTree(){
ConditionalList=new List<KeyValuePair<WhereType, IConditionalModel>>(){
new KeyValuePair<WhereType, IConditionalModel>(WhereType.Or,new ConditionalModel(){
FieldName="ID", ConditionalType=ConditionalType.Equal, FieldValue="1"
}),
new KeyValuePair<WhereType, IConditionalModel>(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<Order>().Where(conModels).ToList();
2021-12-25 20:28:38 +08:00
}
}
}