From 6cbc452e466da69ea6f1d31202a6ec1504216f38 Mon Sep 17 00:00:00 2001 From: 28810 <28810@YEXIANGQIN> Date: Tue, 25 Aug 2020 14:08:02 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E4=BF=AE=E5=A4=8D=20WhereDynamicFilter=20S?= =?UTF-8?q?ystem.Text.Json=20=E4=B8=8B=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Examples/base_entity/Program.cs | 21 ++++++++++++++++++- FreeSql.DbContext/FreeSql.DbContext.xml | 7 ------- .../SelectProvider/Select0Provider.cs | 14 +++++++++++++ 3 files changed, 34 insertions(+), 8 deletions(-) diff --git a/Examples/base_entity/Program.cs b/Examples/base_entity/Program.cs index 127586bd..4ce60e3a 100644 --- a/Examples/base_entity/Program.cs +++ b/Examples/base_entity/Program.cs @@ -175,6 +175,16 @@ namespace base_entity ""Operator"" : ""eq"", ""Value"" : ""product-4"" }, + { + ""Field"" : ""testint"", + ""Operator"" : ""Range"", + ""Value"" : [100,200] + }, + { + ""Field"" : ""testint"", + ""Operator"" : ""Range"", + ""Value"" : [""101"",""202""] + }, ] } "); @@ -228,6 +238,16 @@ namespace base_entity ""Field"" : ""testint"", ""Operator"" : 8, ""Value"" : ""12"" + }, + { + ""Field"" : ""testint"", + ""Operator"" : ""Range"", + ""Value"" : [100,200] + }, + { + ""Field"" : ""testint"", + ""Operator"" : ""Range"", + ""Value"" : [""101"",""202""] } ] } @@ -235,7 +255,6 @@ namespace base_entity Products.Select.WhereDynamicFilter(wdy1).ToList(); Products.Select.WhereDynamicFilter(wdy2).ToList(); - var items1 = Products.Select.Limit(10).OrderByDescending(a => a.CreateTime).ToList(); var items2 = fsql.Select().Limit(10).OrderByDescending(a => a.CreateTime).ToList(); diff --git a/FreeSql.DbContext/FreeSql.DbContext.xml b/FreeSql.DbContext/FreeSql.DbContext.xml index 9c6cd88b..5a0c8bd0 100644 --- a/FreeSql.DbContext/FreeSql.DbContext.xml +++ b/FreeSql.DbContext/FreeSql.DbContext.xml @@ -130,13 +130,6 @@ 清空状态数据 - - - 根据 lambda 条件删除数据 - - - - 添加 diff --git a/FreeSql/Internal/CommonProvider/SelectProvider/Select0Provider.cs b/FreeSql/Internal/CommonProvider/SelectProvider/Select0Provider.cs index 89c341d5..89ea4ce5 100644 --- a/FreeSql/Internal/CommonProvider/SelectProvider/Select0Provider.cs +++ b/FreeSql/Internal/CommonProvider/SelectProvider/Select0Provider.cs @@ -551,6 +551,20 @@ namespace FreeSql.Internal.CommonProvider fiValueList.Add(string.Concat(fiValueIeItem)); return fiValueList.ToArray(); } + var fiValueType = fi.Value.GetType(); + if (fiValueType.FullName == "System.Text.Json.JsonElement") + { + var fiValueKind = fiValueType.GetProperty("ValueKind").GetValue(fi.Value, null).ToString(); + if (fiValueKind == "Array") + { + fiValueIe = fiValueType.GetMethod("EnumerateArray", new Type[0])?.Invoke(fi.Value, null) as IEnumerable; + var fiValueList = new List(); + foreach (var fiValueIeItem in fiValueIe) + fiValueList.Add(string.Concat(fiValueIeItem)); + return fiValueList.ToArray(); + } + return fi.Value.ToString().Split(','); + } return new string[0]; }