diff --git a/Src/Asp.NetCore2/SqlSeverTest/UserTestCases/Program.cs b/Src/Asp.NetCore2/SqlSeverTest/UserTestCases/Program.cs
index 88adb3dea..8999a4ec7 100644
--- a/Src/Asp.NetCore2/SqlSeverTest/UserTestCases/Program.cs
+++ b/Src/Asp.NetCore2/SqlSeverTest/UserTestCases/Program.cs
@@ -13,7 +13,7 @@ namespace SqlSeverTest.UserTestCases
///
public static void Init()
{
-
+ UCustomConditionalFunc.Init();
//Demo
Demo0_SqlSugarClient.Init();
Demo1_Queryable.Init();
diff --git a/Src/Asp.NetCore2/SqlSeverTest/UserTestCases/UnitTest/UCustomConditionalFunc.cs b/Src/Asp.NetCore2/SqlSeverTest/UserTestCases/UnitTest/UCustomConditionalFunc.cs
new file mode 100644
index 000000000..d8906dff2
--- /dev/null
+++ b/Src/Asp.NetCore2/SqlSeverTest/UserTestCases/UnitTest/UCustomConditionalFunc.cs
@@ -0,0 +1,82 @@
+using SqlSugar;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OrmTest
+{
+ public class UCustomConditionalFunc
+ {
+ public static void Init()
+ {
+ var conditionEmail = new ConditionalModel { FieldName = "Email", ConditionalType = ConditionalType.Like, FieldValue = "aaa" };
+ var conditionUserType = new ConditionalModel { FieldName = "UserType", FieldValue = "1", CustomConditionalFunc = new UserTypeConditionalFunc() };
+
+ var db = NewUnitTest.Db;
+ Demo1(conditionEmail, conditionUserType, db);
+ Demo2(conditionEmail, conditionUserType, db);
+ Demo3(conditionEmail, conditionUserType, db);
+ }
+
+ private static void Demo1(ConditionalModel conditionEmail, ConditionalModel conditionUserType, SqlSugarClient db)
+ {
+ var conditions = new List();
+ conditions.Add(conditionEmail);
+ conditions.Add(new ConditionalCollections
+ {
+ ConditionalList = new List>
+ {
+ new KeyValuePair(WhereType.And, conditionUserType) // 这里key用[Or|Null]都没用
+ }
+ });
+ db.CodeFirst.InitTables();
+ var query = db.Queryable().Where(conditions, true).ToList();
+ }
+ private static void Demo2(ConditionalModel conditionEmail, ConditionalModel conditionUserType, SqlSugarClient db)
+ {
+ var conditions = new List();
+ conditions.Add(conditionEmail);
+ conditions.Add(new ConditionalCollections
+ {
+ ConditionalList = new List>
+ {
+ new KeyValuePair(WhereType.Or, conditionUserType) // 这里key用[Or|Null]都没用
+ }
+ });
+ db.CodeFirst.InitTables();
+ var query = db.Queryable().Where(conditions, true).ToList();
+ }
+ private static void Demo3(ConditionalModel conditionEmail, ConditionalModel conditionUserType, SqlSugarClient db)
+ {
+ var conditions = new List();
+ // conditions.Add(conditionEmail);
+ conditions.Add(new ConditionalCollections
+ {
+ ConditionalList = new List>
+ {
+ new KeyValuePair(WhereType.And, conditionUserType) // 这里key用[Or|Null]都没用
+ }
+ });
+ db.CodeFirst.InitTables();
+ var query = db.Queryable().Where(conditions, true).ToList();
+ }
+ }
+ [SugarTable("AppUseradfafa")]
+ public class AppUser
+ {
+ public int Id { get; set; }
+ public string Email { get; set; }
+ public int UserType { get; set; }
+ }
+
+ public class UserTypeConditionalFunc : ICustomConditionalFunc
+ {
+ public KeyValuePair GetConditionalSql(ConditionalModel conditionalModel, int index)
+ {
+ var sql = $"UserType = {conditionalModel.FieldValue}";
+ return new KeyValuePair(sql, Array.Empty());
+ }
+ }
+}