diff --git a/FreeSql.DbContext/FreeSql.DbContext.xml b/FreeSql.DbContext/FreeSql.DbContext.xml
index 4854f49c..474ea8d5 100644
--- a/FreeSql.DbContext/FreeSql.DbContext.xml
+++ b/FreeSql.DbContext/FreeSql.DbContext.xml
@@ -486,14 +486,5 @@
-
-
- 批量注入 Repository,可以参考代码自行调整
-
-
-
-
-
-
diff --git a/FreeSql.Tests/FreeSql.Tests/UnitTest1.cs b/FreeSql.Tests/FreeSql.Tests/UnitTest1.cs
index d300dc9c..2c5357c4 100644
--- a/FreeSql.Tests/FreeSql.Tests/UnitTest1.cs
+++ b/FreeSql.Tests/FreeSql.Tests/UnitTest1.cs
@@ -675,6 +675,12 @@ namespace FreeSql.Tests
subquery = g.sqlite.Select().Where(b => b.Id == a.Id).First(b => b.Group)
});
+ var sklgjlskdg12 = g.sqlite.Select()
+ .Where(a => g.sqlite.Select().Any(b => b.MemberId == a.MemberId))
+ .ToUpdate()
+ .Set(a => a.Phone, "123123")
+ .ToSql();
+
var sklgjlskdg = g.sqlite.Select()
.Where(a => a.CheckupGroups.AsSelect().Any())
.ToSql();
diff --git a/Providers/FreeSql.Provider.Dameng/DamengUtils.cs b/Providers/FreeSql.Provider.Dameng/DamengUtils.cs
index e6c67977..2044411d 100644
--- a/Providers/FreeSql.Provider.Dameng/DamengUtils.cs
+++ b/Providers/FreeSql.Provider.Dameng/DamengUtils.cs
@@ -4,6 +4,7 @@ using FreeSql.Internal.Model;
using System;
using System.Collections.Generic;
using System.Data.Common;
+using System.Globalization;
namespace FreeSql.Dameng
{
@@ -95,6 +96,7 @@ namespace FreeSql.Dameng
public override string GetNoneParamaterSqlValue(List specialParams, Type type, object value)
{
if (value == null) return "NULL";
+ if (type.IsNumberType()) return string.Format(CultureInfo.InvariantCulture, "{0}", value);
if (type == typeof(byte[])) return $"hextoraw('{CommonUtils.BytesSqlRaw(value as byte[])}')";
return FormatSql("{0}", value, 1);
}
diff --git a/Providers/FreeSql.Provider.MsAccess/MsAccessUtils.cs b/Providers/FreeSql.Provider.MsAccess/MsAccessUtils.cs
index 31c9b7a1..2002a9a9 100644
--- a/Providers/FreeSql.Provider.MsAccess/MsAccessUtils.cs
+++ b/Providers/FreeSql.Provider.MsAccess/MsAccessUtils.cs
@@ -4,6 +4,7 @@ using System;
using System.Collections.Generic;
using System.Data.Common;
using System.Data.OleDb;
+using System.Globalization;
using System.Text;
namespace FreeSql.MsAccess
@@ -84,6 +85,7 @@ namespace FreeSql.MsAccess
public override string GetNoneParamaterSqlValue(List specialParams, Type type, object value)
{
if (value == null) return "NULL";
+ if (type.IsNumberType()) return string.Format(CultureInfo.InvariantCulture, "{0}", value);
if (type == typeof(byte[])) return $"0x{CommonUtils.BytesSqlRaw(value as byte[])}";
if (type == typeof(TimeSpan) || type == typeof(TimeSpan?))
{
diff --git a/Providers/FreeSql.Provider.MySql/MySqlUtils.cs b/Providers/FreeSql.Provider.MySql/MySqlUtils.cs
index 3da98012..fdce7b48 100644
--- a/Providers/FreeSql.Provider.MySql/MySqlUtils.cs
+++ b/Providers/FreeSql.Provider.MySql/MySqlUtils.cs
@@ -4,6 +4,7 @@ using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.Data.Common;
+using System.Globalization;
namespace FreeSql.MySql
{
@@ -124,6 +125,7 @@ namespace FreeSql.MySql
public override string GetNoneParamaterSqlValue(List specialParams, Type type, object value)
{
if (value == null) return "NULL";
+ if (type.IsNumberType()) return string.Format(CultureInfo.InvariantCulture, "{0}", value);
if (type == typeof(byte[])) return $"0x{CommonUtils.BytesSqlRaw(value as byte[])}";
if (type == typeof(TimeSpan) || type == typeof(TimeSpan?))
{
diff --git a/Providers/FreeSql.Provider.MySqlConnector/MySqlConnectorUtils.cs b/Providers/FreeSql.Provider.MySqlConnector/MySqlConnectorUtils.cs
index 83032db7..3cf35322 100644
--- a/Providers/FreeSql.Provider.MySqlConnector/MySqlConnectorUtils.cs
+++ b/Providers/FreeSql.Provider.MySqlConnector/MySqlConnectorUtils.cs
@@ -5,6 +5,7 @@ using System;
using System.Collections.Generic;
using System.Collections.Concurrent;
using System.Data.Common;
+using System.Globalization;
namespace FreeSql.MySql
{
@@ -148,6 +149,7 @@ namespace FreeSql.MySql
public override string GetNoneParamaterSqlValue(List specialParams, Type type, object value)
{
if (value == null) return "NULL";
+ if (type.IsNumberType()) return string.Format(CultureInfo.InvariantCulture, "{0}", value);
if (type == typeof(byte[])) return $"0x{CommonUtils.BytesSqlRaw(value as byte[])}";
if (type == typeof(TimeSpan) || type == typeof(TimeSpan?))
{
diff --git a/Providers/FreeSql.Provider.Odbc/Dameng/OdbcDamengUtils.cs b/Providers/FreeSql.Provider.Odbc/Dameng/OdbcDamengUtils.cs
index dd066373..7e619a96 100644
--- a/Providers/FreeSql.Provider.Odbc/Dameng/OdbcDamengUtils.cs
+++ b/Providers/FreeSql.Provider.Odbc/Dameng/OdbcDamengUtils.cs
@@ -4,6 +4,7 @@ using System;
using System.Collections.Generic;
using System.Data.Common;
using System.Data.Odbc;
+using System.Globalization;
namespace FreeSql.Odbc.Dameng
{
@@ -101,6 +102,7 @@ namespace FreeSql.Odbc.Dameng
public override string GetNoneParamaterSqlValue(List specialParams, Type type, object value)
{
if (value == null) return "NULL";
+ if (type.IsNumberType()) return string.Format(CultureInfo.InvariantCulture, "{0}", value);
if (type == typeof(byte[])) return $"hextoraw('{CommonUtils.BytesSqlRaw(value as byte[])}')";
return FormatSql("{0}", value, 1);
}
diff --git a/Providers/FreeSql.Provider.Odbc/Default/OdbcUtils.cs b/Providers/FreeSql.Provider.Odbc/Default/OdbcUtils.cs
index c3a64399..b9eb9dad 100644
--- a/Providers/FreeSql.Provider.Odbc/Default/OdbcUtils.cs
+++ b/Providers/FreeSql.Provider.Odbc/Default/OdbcUtils.cs
@@ -4,6 +4,7 @@ using System;
using System.Collections.Generic;
using System.Data.Common;
using System.Data.Odbc;
+using System.Globalization;
namespace FreeSql.Odbc.Default
{
@@ -71,6 +72,7 @@ namespace FreeSql.Odbc.Default
public override string GetNoneParamaterSqlValue(List specialParams, Type type, object value)
{
if (value == null) return "NULL";
+ if (type.IsNumberType()) return string.Format(CultureInfo.InvariantCulture, "{0}", value);
if (type == typeof(byte[])) return Adapter.ByteRawSql(value);
return FormatSql("{0}", value, 1);
}
diff --git a/Providers/FreeSql.Provider.Odbc/MySql/OdbcMySqlUtils.cs b/Providers/FreeSql.Provider.Odbc/MySql/OdbcMySqlUtils.cs
index 50f45dbf..3cd1bb86 100644
--- a/Providers/FreeSql.Provider.Odbc/MySql/OdbcMySqlUtils.cs
+++ b/Providers/FreeSql.Provider.Odbc/MySql/OdbcMySqlUtils.cs
@@ -4,6 +4,7 @@ using System;
using System.Collections.Generic;
using System.Data.Common;
using System.Data.Odbc;
+using System.Globalization;
namespace FreeSql.Odbc.MySql
{
@@ -95,6 +96,7 @@ namespace FreeSql.Odbc.MySql
public override string GetNoneParamaterSqlValue(List specialParams, Type type, object value)
{
if (value == null) return "NULL";
+ if (type.IsNumberType()) return string.Format(CultureInfo.InvariantCulture, "{0}", value);
if (type == typeof(byte[])) return $"0x{CommonUtils.BytesSqlRaw(value as byte[])}";
if (type == typeof(TimeSpan) || type == typeof(TimeSpan?))
{
diff --git a/Providers/FreeSql.Provider.Odbc/Oracle/OdbcOracleUtils.cs b/Providers/FreeSql.Provider.Odbc/Oracle/OdbcOracleUtils.cs
index 9054c31b..e692fac8 100644
--- a/Providers/FreeSql.Provider.Odbc/Oracle/OdbcOracleUtils.cs
+++ b/Providers/FreeSql.Provider.Odbc/Oracle/OdbcOracleUtils.cs
@@ -4,6 +4,7 @@ using System;
using System.Collections.Generic;
using System.Data.Common;
using System.Data.Odbc;
+using System.Globalization;
namespace FreeSql.Odbc.Oracle
{
@@ -101,6 +102,7 @@ namespace FreeSql.Odbc.Oracle
public override string GetNoneParamaterSqlValue(List specialParams, Type type, object value)
{
if (value == null) return "NULL";
+ if (type.IsNumberType()) return string.Format(CultureInfo.InvariantCulture, "{0}", value);
if (type == typeof(byte[])) return $"hextoraw('{CommonUtils.BytesSqlRaw(value as byte[])}')";
return FormatSql("{0}", value, 1);
}
diff --git a/Providers/FreeSql.Provider.Odbc/PostgreSQL/OdbcPostgreSQLUtils.cs b/Providers/FreeSql.Provider.Odbc/PostgreSQL/OdbcPostgreSQLUtils.cs
index 7fab4eda..9b582199 100644
--- a/Providers/FreeSql.Provider.Odbc/PostgreSQL/OdbcPostgreSQLUtils.cs
+++ b/Providers/FreeSql.Provider.Odbc/PostgreSQL/OdbcPostgreSQLUtils.cs
@@ -4,6 +4,7 @@ using System;
using System.Collections.Generic;
using System.Data.Common;
using System.Data.Odbc;
+using System.Globalization;
using System.Linq;
using System.Text;
@@ -124,6 +125,7 @@ namespace FreeSql.Odbc.PostgreSQL
public override string GetNoneParamaterSqlValue(List specialParams, Type type, object value)
{
if (value == null) return "NULL";
+ if (type.IsNumberType()) return string.Format(CultureInfo.InvariantCulture, "{0}", value);
value = getParamterValue(type, value);
var type2 = value.GetType();
if (type2 == typeof(byte[])) return $"'\\x{CommonUtils.BytesSqlRaw(value as byte[])}'";
diff --git a/Providers/FreeSql.Provider.Odbc/SqlServer/OdbcSqlServerUtils.cs b/Providers/FreeSql.Provider.Odbc/SqlServer/OdbcSqlServerUtils.cs
index adfa99ab..118fcf69 100644
--- a/Providers/FreeSql.Provider.Odbc/SqlServer/OdbcSqlServerUtils.cs
+++ b/Providers/FreeSql.Provider.Odbc/SqlServer/OdbcSqlServerUtils.cs
@@ -4,6 +4,7 @@ using System;
using System.Collections.Generic;
using System.Data.Common;
using System.Data.Odbc;
+using System.Globalization;
using System.Text;
namespace FreeSql.Odbc.SqlServer
@@ -87,6 +88,7 @@ namespace FreeSql.Odbc.SqlServer
public override string GetNoneParamaterSqlValue(List specialParams, Type type, object value)
{
if (value == null) return "NULL";
+ if (type.IsNumberType()) return string.Format(CultureInfo.InvariantCulture, "{0}", value);
if (type == typeof(byte[])) return $"0x{CommonUtils.BytesSqlRaw(value as byte[])}";
if (type == typeof(TimeSpan) || type == typeof(TimeSpan?))
{
diff --git a/Providers/FreeSql.Provider.Oracle/OracleUtils.cs b/Providers/FreeSql.Provider.Oracle/OracleUtils.cs
index 6f2ce884..868db830 100644
--- a/Providers/FreeSql.Provider.Oracle/OracleUtils.cs
+++ b/Providers/FreeSql.Provider.Oracle/OracleUtils.cs
@@ -4,6 +4,7 @@ using Oracle.ManagedDataAccess.Client;
using System;
using System.Collections.Generic;
using System.Data.Common;
+using System.Globalization;
namespace FreeSql.Oracle
{
@@ -100,6 +101,7 @@ namespace FreeSql.Oracle
public override string GetNoneParamaterSqlValue(List specialParams, Type type, object value)
{
if (value == null) return "NULL";
+ if (type.IsNumberType()) return string.Format(CultureInfo.InvariantCulture, "{0}", value);
if (type == typeof(byte[])) return $"hextoraw('{CommonUtils.BytesSqlRaw(value as byte[])}')";
return FormatSql("{0}", value, 1);
}
diff --git a/Providers/FreeSql.Provider.PostgreSQL/PostgreSQLUtils.cs b/Providers/FreeSql.Provider.PostgreSQL/PostgreSQLUtils.cs
index 2781ae1b..cc345caa 100644
--- a/Providers/FreeSql.Provider.PostgreSQL/PostgreSQLUtils.cs
+++ b/Providers/FreeSql.Provider.PostgreSQL/PostgreSQLUtils.cs
@@ -9,6 +9,7 @@ using System.Collections;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Data.Common;
+using System.Globalization;
using System.Linq;
using System.Net;
using System.Text;
@@ -154,6 +155,7 @@ namespace FreeSql.PostgreSQL
public override string GetNoneParamaterSqlValue(List specialParams, Type type, object value)
{
if (value == null) return "NULL";
+ if (type.IsNumberType()) return string.Format(CultureInfo.InvariantCulture, "{0}", value);
if (_dicIsAssignableFromPostgisGeometry.GetOrAdd(type, t2 => typeof(PostgisGeometry).IsAssignableFrom(type.IsArray ? type.GetElementType() : type)))
{
var pam = AppendParamter(specialParams, null, null, type, value);
diff --git a/Providers/FreeSql.Provider.SqlServer/SqlServerUtils.cs b/Providers/FreeSql.Provider.SqlServer/SqlServerUtils.cs
index 748ebf00..125b62e5 100644
--- a/Providers/FreeSql.Provider.SqlServer/SqlServerUtils.cs
+++ b/Providers/FreeSql.Provider.SqlServer/SqlServerUtils.cs
@@ -5,6 +5,7 @@ using System.Collections.Generic;
using System.Data;
using System.Data.Common;
using System.Data.SqlClient;
+using System.Globalization;
using System.Text;
namespace FreeSql.SqlServer
@@ -99,6 +100,7 @@ namespace FreeSql.SqlServer
public override string GetNoneParamaterSqlValue(List specialParams, Type type, object value)
{
if (value == null) return "NULL";
+ if (type.IsNumberType()) return string.Format(CultureInfo.InvariantCulture, "{0}", value);
if (type == typeof(byte[])) return $"0x{CommonUtils.BytesSqlRaw(value as byte[])}";
if (type == typeof(TimeSpan) || type == typeof(TimeSpan?))
{
diff --git a/Providers/FreeSql.Provider.Sqlite/SqliteUtils.cs b/Providers/FreeSql.Provider.Sqlite/SqliteUtils.cs
index 41ba2433..9f092837 100644
--- a/Providers/FreeSql.Provider.Sqlite/SqliteUtils.cs
+++ b/Providers/FreeSql.Provider.Sqlite/SqliteUtils.cs
@@ -5,6 +5,7 @@ using System.Collections.Generic;
using System.Data;
using System.Data.Common;
using System.Data.SQLite;
+using System.Globalization;
namespace FreeSql.Sqlite
{
@@ -100,6 +101,7 @@ namespace FreeSql.Sqlite
public override string GetNoneParamaterSqlValue(List specialParams, Type type, object value)
{
if (value == null) return "NULL";
+ if (type.IsNumberType()) return string.Format(CultureInfo.InvariantCulture, "{0}", value);
return FormatSql("{0}", value, 1);
}
}