From 6d53d3e6a324d95d2ac0cabc3c2d93d725a4e951 Mon Sep 17 00:00:00 2001 From: 2881099 <2881099@qq.com> Date: Mon, 30 Aug 2021 11:22:56 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E4=BF=AE=E5=A4=8D=20Oracle=20IncludeMany?= =?UTF-8?q?=20IN=20=E5=85=83=E7=B4=A0=E8=B6=85=E8=BF=87=20500=20=E6=95=B0?= =?UTF-8?q?=E7=9B=AE=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=9B#843?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- FreeSql.Tests/FreeSql.Tests/MySql/MapType/EnumTest.cs | 1 + FreeSql.Tests/FreeSql.Tests/UnitTest2.cs | 7 +++++++ .../FreeSqlGlobalExpressionCallExtensions.cs | 11 +++++++++++ Providers/FreeSql.Provider.Custom/CustomExpression.cs | 1 + Providers/FreeSql.Provider.Dameng/DamengExpression.cs | 1 + .../FreeSql.Provider.Firebird/FirebirdExpression.cs | 1 + .../FreeSql.Provider.MsAccess/MsAccessExpression.cs | 1 + Providers/FreeSql.Provider.MySql/MySqlExpression.cs | 1 + .../Dameng/OdbcDamengExpression.cs | 1 + .../FreeSql.Provider.Odbc/Default/OdbcExpression.cs | 1 + .../MySql/OdbcMySqlExpression.cs | 1 + .../Oracle/OdbcOracleExpression.cs | 1 + .../SqlServer/OdbcSqlServerExpression.cs | 1 + Providers/FreeSql.Provider.Oracle/OracleExpression.cs | 1 + .../FreeSql.Provider.SqlServer/SqlServerExpression.cs | 1 + Providers/FreeSql.Provider.Sqlite/SqliteExpression.cs | 1 + 16 files changed, 32 insertions(+) diff --git a/FreeSql.Tests/FreeSql.Tests/MySql/MapType/EnumTest.cs b/FreeSql.Tests/FreeSql.Tests/MySql/MapType/EnumTest.cs index cf34a3e4..8c66e7d5 100644 --- a/FreeSql.Tests/FreeSql.Tests/MySql/MapType/EnumTest.cs +++ b/FreeSql.Tests/FreeSql.Tests/MySql/MapType/EnumTest.cs @@ -145,6 +145,7 @@ namespace FreeSql.Tests.MySqlMapType { //insert var orm = g.mysql; + var item = new EnumTestMap { }; Assert.Equal(1, orm.Insert().AppendData(item).ExecuteAffrows()); var find = orm.Select().Where(a => a.id == item.id && a.enum_to_int == ToStringMapEnum.ÖйúÈË).First(); diff --git a/FreeSql.Tests/FreeSql.Tests/UnitTest2.cs b/FreeSql.Tests/FreeSql.Tests/UnitTest2.cs index a8dc0eb7..1526cddf 100644 --- a/FreeSql.Tests/FreeSql.Tests/UnitTest2.cs +++ b/FreeSql.Tests/FreeSql.Tests/UnitTest2.cs @@ -316,6 +316,13 @@ namespace FreeSql.Tests .ToList(); g.sqlite.Update().NoneParameter().Set(a => a.rowstate + 1).Where(a => a.rowstate >= 0).ExecuteAffrows(); + var dddd2sql1 = g.sqlite.Select() + .DisableGlobalFilter() + .ToUpdate() + //.DisableGlobalFilter() + .Set(a => a.rowstate, 10) + .ToSql(); + var dtot2 = g.sqlite.Select().ToList(a => new gfDto { dto2 = new dfDto2 diff --git a/FreeSql/Extensions/FreeSqlGlobalExpressionCallExtensions.cs b/FreeSql/Extensions/FreeSqlGlobalExpressionCallExtensions.cs index c199da58..d456c715 100644 --- a/FreeSql/Extensions/FreeSqlGlobalExpressionCallExtensions.cs +++ b/FreeSql/Extensions/FreeSqlGlobalExpressionCallExtensions.cs @@ -56,6 +56,17 @@ namespace FreeSql { internal static ThreadLocal expContext = new ThreadLocal(); + //public static bool BitAnd(TEnum enum1, [RawValue] TEnum enum2) + //{ + // expContext.Value.Result = $"({expContext.Value.ParsedContent["enum1"]} & {Convert.ToInt32(enum2)}) = {Convert.ToInt32(enum2)}"; + // return false; + //} + //public static bool BitOr(TEnum enum1, [RawValue] TEnum enum2) + //{ + // expContext.Value.Result = $"({expContext.Value.ParsedContent["enum1"]} | {Convert.ToInt32(enum2)}) = {Convert.ToInt32(enum2)}"; + // return false; + //} + #region SqlServer/PostgreSQL over /// /// rank() over(order by ...) diff --git a/Providers/FreeSql.Provider.Custom/CustomExpression.cs b/Providers/FreeSql.Provider.Custom/CustomExpression.cs index 6919fcc5..136f0776 100644 --- a/Providers/FreeSql.Provider.Custom/CustomExpression.cs +++ b/Providers/FreeSql.Provider.Custom/CustomExpression.cs @@ -141,6 +141,7 @@ namespace FreeSql.Custom for (var a = 0; a < arrExp.Expressions.Count; a++) { if (a > 0) arrSb.Append(","); + if (a % 500 == 499) arrSb.Append(" \r\n \r\n"); //500元素分割, 3空格\r\n4空格 arrSb.Append(getExp(arrExp.Expressions[a])); } if (arrSb.Length == 1) arrSb.Append("NULL"); diff --git a/Providers/FreeSql.Provider.Dameng/DamengExpression.cs b/Providers/FreeSql.Provider.Dameng/DamengExpression.cs index e97e9c88..cc51f3c6 100644 --- a/Providers/FreeSql.Provider.Dameng/DamengExpression.cs +++ b/Providers/FreeSql.Provider.Dameng/DamengExpression.cs @@ -141,6 +141,7 @@ namespace FreeSql.Dameng for (var a = 0; a < arrExp.Expressions.Count; a++) { if (a > 0) arrSb.Append(","); + if (a % 500 == 499) arrSb.Append(" \r\n \r\n"); //500元素分割, 3空格\r\n4空格 arrSb.Append(getExp(arrExp.Expressions[a])); } if (arrSb.Length == 1) arrSb.Append("NULL"); diff --git a/Providers/FreeSql.Provider.Firebird/FirebirdExpression.cs b/Providers/FreeSql.Provider.Firebird/FirebirdExpression.cs index f52cc8e6..3b542f8e 100644 --- a/Providers/FreeSql.Provider.Firebird/FirebirdExpression.cs +++ b/Providers/FreeSql.Provider.Firebird/FirebirdExpression.cs @@ -128,6 +128,7 @@ namespace FreeSql.Firebird for (var a = 0; a < arrExp.Expressions.Count; a++) { if (a > 0) arrSb.Append(","); + if (a % 500 == 499) arrSb.Append(" \r\n \r\n"); //500元素分割, 3空格\r\n4空格 arrSb.Append(getExp(arrExp.Expressions[a])); } if (arrSb.Length == 1) arrSb.Append("NULL"); diff --git a/Providers/FreeSql.Provider.MsAccess/MsAccessExpression.cs b/Providers/FreeSql.Provider.MsAccess/MsAccessExpression.cs index 337bba13..d8c1c426 100644 --- a/Providers/FreeSql.Provider.MsAccess/MsAccessExpression.cs +++ b/Providers/FreeSql.Provider.MsAccess/MsAccessExpression.cs @@ -111,6 +111,7 @@ namespace FreeSql.MsAccess for (var a = 0; a < arrExp.Expressions.Count; a++) { if (a > 0) arrSb.Append(","); + if (a % 500 == 499) arrSb.Append(" \r\n \r\n"); //500元素分割, 3空格\r\n4空格 arrSb.Append(getExp(arrExp.Expressions[a])); } if (arrSb.Length == 1) arrSb.Append("NULL"); diff --git a/Providers/FreeSql.Provider.MySql/MySqlExpression.cs b/Providers/FreeSql.Provider.MySql/MySqlExpression.cs index 8f784c47..297cc0e2 100644 --- a/Providers/FreeSql.Provider.MySql/MySqlExpression.cs +++ b/Providers/FreeSql.Provider.MySql/MySqlExpression.cs @@ -139,6 +139,7 @@ namespace FreeSql.MySql for (var a = 0; a < arrExp.Expressions.Count; a++) { if (a > 0) arrSb.Append(","); + if (a % 500 == 499) arrSb.Append(" \r\n \r\n"); //500元素分割, 3空格\r\n4空格 arrSb.Append(getExp(arrExp.Expressions[a])); } if (arrSb.Length == 1) arrSb.Append("NULL"); diff --git a/Providers/FreeSql.Provider.Odbc/Dameng/OdbcDamengExpression.cs b/Providers/FreeSql.Provider.Odbc/Dameng/OdbcDamengExpression.cs index 0c9c5f84..66e01850 100644 --- a/Providers/FreeSql.Provider.Odbc/Dameng/OdbcDamengExpression.cs +++ b/Providers/FreeSql.Provider.Odbc/Dameng/OdbcDamengExpression.cs @@ -141,6 +141,7 @@ namespace FreeSql.Odbc.Dameng for (var a = 0; a < arrExp.Expressions.Count; a++) { if (a > 0) arrSb.Append(","); + if (a % 500 == 499) arrSb.Append(" \r\n \r\n"); //500元素分割, 3空格\r\n4空格 arrSb.Append(getExp(arrExp.Expressions[a])); } if (arrSb.Length == 1) arrSb.Append("NULL"); diff --git a/Providers/FreeSql.Provider.Odbc/Default/OdbcExpression.cs b/Providers/FreeSql.Provider.Odbc/Default/OdbcExpression.cs index 673f5f52..bac703c1 100644 --- a/Providers/FreeSql.Provider.Odbc/Default/OdbcExpression.cs +++ b/Providers/FreeSql.Provider.Odbc/Default/OdbcExpression.cs @@ -141,6 +141,7 @@ namespace FreeSql.Odbc.Default for (var a = 0; a < arrExp.Expressions.Count; a++) { if (a > 0) arrSb.Append(","); + if (a % 500 == 499) arrSb.Append(" \r\n \r\n"); //500元素分割, 3空格\r\n4空格 arrSb.Append(getExp(arrExp.Expressions[a])); } if (arrSb.Length == 1) arrSb.Append("NULL"); diff --git a/Providers/FreeSql.Provider.Odbc/MySql/OdbcMySqlExpression.cs b/Providers/FreeSql.Provider.Odbc/MySql/OdbcMySqlExpression.cs index bbf238d4..906bae29 100644 --- a/Providers/FreeSql.Provider.Odbc/MySql/OdbcMySqlExpression.cs +++ b/Providers/FreeSql.Provider.Odbc/MySql/OdbcMySqlExpression.cs @@ -137,6 +137,7 @@ namespace FreeSql.Odbc.MySql for (var a = 0; a < arrExp.Expressions.Count; a++) { if (a > 0) arrSb.Append(","); + if (a % 500 == 499) arrSb.Append(" \r\n \r\n"); //500元素分割, 3空格\r\n4空格 arrSb.Append(getExp(arrExp.Expressions[a])); } if (arrSb.Length == 1) arrSb.Append("NULL"); diff --git a/Providers/FreeSql.Provider.Odbc/Oracle/OdbcOracleExpression.cs b/Providers/FreeSql.Provider.Odbc/Oracle/OdbcOracleExpression.cs index f1adc650..6f8ef8c1 100644 --- a/Providers/FreeSql.Provider.Odbc/Oracle/OdbcOracleExpression.cs +++ b/Providers/FreeSql.Provider.Odbc/Oracle/OdbcOracleExpression.cs @@ -141,6 +141,7 @@ namespace FreeSql.Odbc.Oracle for (var a = 0; a < arrExp.Expressions.Count; a++) { if (a > 0) arrSb.Append(","); + if (a % 500 == 499) arrSb.Append(" \r\n \r\n"); //500元素分割, 3空格\r\n4空格 arrSb.Append(getExp(arrExp.Expressions[a])); } if (arrSb.Length == 1) arrSb.Append("NULL"); diff --git a/Providers/FreeSql.Provider.Odbc/SqlServer/OdbcSqlServerExpression.cs b/Providers/FreeSql.Provider.Odbc/SqlServer/OdbcSqlServerExpression.cs index 97703237..d930bdfc 100644 --- a/Providers/FreeSql.Provider.Odbc/SqlServer/OdbcSqlServerExpression.cs +++ b/Providers/FreeSql.Provider.Odbc/SqlServer/OdbcSqlServerExpression.cs @@ -147,6 +147,7 @@ namespace FreeSql.Odbc.SqlServer for (var a = 0; a < arrExp.Expressions.Count; a++) { if (a > 0) arrSb.Append(","); + if (a % 500 == 499) arrSb.Append(" \r\n \r\n"); //500元素分割, 3空格\r\n4空格 arrSb.Append(getExp(arrExp.Expressions[a])); } if (arrSb.Length == 1) arrSb.Append("NULL"); diff --git a/Providers/FreeSql.Provider.Oracle/OracleExpression.cs b/Providers/FreeSql.Provider.Oracle/OracleExpression.cs index d29a4041..fa25991c 100644 --- a/Providers/FreeSql.Provider.Oracle/OracleExpression.cs +++ b/Providers/FreeSql.Provider.Oracle/OracleExpression.cs @@ -141,6 +141,7 @@ namespace FreeSql.Oracle for (var a = 0; a < arrExp.Expressions.Count; a++) { if (a > 0) arrSb.Append(","); + if (a % 500 == 499) arrSb.Append(" \r\n \r\n"); //500元素分割, 3空格\r\n4空格 arrSb.Append(getExp(arrExp.Expressions[a])); } if (arrSb.Length == 1) arrSb.Append("NULL"); diff --git a/Providers/FreeSql.Provider.SqlServer/SqlServerExpression.cs b/Providers/FreeSql.Provider.SqlServer/SqlServerExpression.cs index ef1a02fc..f38b8fe2 100644 --- a/Providers/FreeSql.Provider.SqlServer/SqlServerExpression.cs +++ b/Providers/FreeSql.Provider.SqlServer/SqlServerExpression.cs @@ -146,6 +146,7 @@ namespace FreeSql.SqlServer for (var a = 0; a < arrExp.Expressions.Count; a++) { if (a > 0) arrSb.Append(","); + if (a % 500 == 499) arrSb.Append(" \r\n \r\n"); //500元素分割, 3空格\r\n4空格 arrSb.Append(getExp(arrExp.Expressions[a])); } if (arrSb.Length == 1) arrSb.Append("NULL"); diff --git a/Providers/FreeSql.Provider.Sqlite/SqliteExpression.cs b/Providers/FreeSql.Provider.Sqlite/SqliteExpression.cs index 8f3c1710..adbe381a 100644 --- a/Providers/FreeSql.Provider.Sqlite/SqliteExpression.cs +++ b/Providers/FreeSql.Provider.Sqlite/SqliteExpression.cs @@ -137,6 +137,7 @@ namespace FreeSql.Sqlite for (var a = 0; a < arrExp.Expressions.Count; a++) { if (a > 0) arrSb.Append(","); + if (a % 500 == 499) arrSb.Append(" \r\n \r\n"); //500元素分割, 3空格\r\n4空格 arrSb.Append(getExp(arrExp.Expressions[a])); } if (arrSb.Length == 1) arrSb.Append("NULL");