From 7379050bfdbf577b19ac5555522c4bbbea51d04f Mon Sep 17 00:00:00 2001 From: 2881099 <2881099@qq.com> Date: Tue, 12 Jan 2021 17:14:17 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E4=BC=98=E5=8C=96=20GlobalFilter=20?= =?UTF-8?q?=E5=AD=90=E6=9F=A5=E8=AF=A2=E4=BC=A0=E6=92=AD=E9=87=8D=E5=A4=8D?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=9B#642?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PostgreSQL/PostgreSQLExpression/StringTest.cs | 3 +++ FreeSql/Internal/CommonExpression.cs | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/FreeSql.Tests/FreeSql.Tests/PostgreSQL/PostgreSQLExpression/StringTest.cs b/FreeSql.Tests/FreeSql.Tests/PostgreSQL/PostgreSQLExpression/StringTest.cs index 341d8aa7..987f1a50 100644 --- a/FreeSql.Tests/FreeSql.Tests/PostgreSQL/PostgreSQLExpression/StringTest.cs +++ b/FreeSql.Tests/FreeSql.Tests/PostgreSQL/PostgreSQLExpression/StringTest.cs @@ -72,6 +72,9 @@ namespace FreeSql.Tests.PostgreSQLExpression val1 = string.Join("**", fsql.Select().ToList(a => a.id)); val2 = fsql.Select().ToList(a => string.Join("**", fsql.Select().As("b").ToList(b => b.id))); Assert.Equal(val1, val2[0]); + + fsql.GlobalFilter.Apply("test001", a => a.name.Length > 0); + val2 = fsql.Select().ToList(a => string.Join("**", fsql.Select().As("b").ToList(b => b.id))); } class StringJoin01 { diff --git a/FreeSql/Internal/CommonExpression.cs b/FreeSql/Internal/CommonExpression.cs index 48dec526..ae1ffa9c 100644 --- a/FreeSql/Internal/CommonExpression.cs +++ b/FreeSql/Internal/CommonExpression.cs @@ -1030,7 +1030,7 @@ namespace FreeSql.Internal { var fsqlGlobalFilter = fsqlSelect0._whereGlobalFilter; if (fsqlGlobalFilter != tsc.whereGlobalFilter) - fsqlGlobalFilter.AddRange(tsc.whereGlobalFilter); + fsqlGlobalFilter.AddRange(tsc.whereGlobalFilter.Where(b => !fsqlGlobalFilter.Any(a => a.Name == b.Name))); } } else if (fsqlType != null)