mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-08-24 07:22:57 +08:00
Db.Fastest mysql set characterset
This commit is contained in:
parent
24a7656fcd
commit
c119b4bb5b
@ -10,7 +10,7 @@ namespace SqlSugar
|
|||||||
public class FastBuilder
|
public class FastBuilder
|
||||||
{
|
{
|
||||||
public SqlSugarProvider Context { get; set; }
|
public SqlSugarProvider Context { get; set; }
|
||||||
|
public virtual string CharacterSet { get; set; }
|
||||||
public virtual string UpdateSql { get; set; } = @"UPDATE TM
|
public virtual string UpdateSql { get; set; } = @"UPDATE TM
|
||||||
SET {0}
|
SET {0}
|
||||||
FROM {1} TM
|
FROM {1} TM
|
||||||
|
@ -14,7 +14,9 @@ namespace SqlSugar
|
|||||||
switch (this.context.CurrentConnectionConfig.DbType)
|
switch (this.context.CurrentConnectionConfig.DbType)
|
||||||
{
|
{
|
||||||
case DbType.MySql:
|
case DbType.MySql:
|
||||||
return new MySqlFastBuilder();
|
var result= new MySqlFastBuilder();
|
||||||
|
result.CharacterSet = this.CharacterSet;
|
||||||
|
return result;
|
||||||
case DbType.SqlServer:
|
case DbType.SqlServer:
|
||||||
return new SqlServerFastBuilder();
|
return new SqlServerFastBuilder();
|
||||||
case DbType.Sqlite:
|
case DbType.Sqlite:
|
||||||
@ -24,7 +26,9 @@ namespace SqlSugar
|
|||||||
case DbType.PostgreSQL:
|
case DbType.PostgreSQL:
|
||||||
return new PostgreSQLFastBuilder(this.entityInfo);
|
return new PostgreSQLFastBuilder(this.entityInfo);
|
||||||
case DbType.MySqlConnector:
|
case DbType.MySqlConnector:
|
||||||
return InstanceFactory.CreateInstance<IFastBuilder>("SqlSugar.MySqlConnector.MySqlFastBuilder");
|
var resultConnector = InstanceFactory.CreateInstance<IFastBuilder>("SqlSugar.MySqlConnector.MySqlFastBuilder");
|
||||||
|
resultConnector.CharacterSet = this.CharacterSet;
|
||||||
|
return resultConnector;
|
||||||
case DbType.Dm:
|
case DbType.Dm:
|
||||||
break;
|
break;
|
||||||
case DbType.Kdbndp:
|
case DbType.Kdbndp:
|
||||||
|
@ -12,6 +12,11 @@ namespace SqlSugar
|
|||||||
private int Size { get; set; }
|
private int Size { get; set; }
|
||||||
private string CacheKey { get; set; }
|
private string CacheKey { get; set; }
|
||||||
private string CacheKeyLike { get; set; }
|
private string CacheKeyLike { get; set; }
|
||||||
|
private string CharacterSet { get; set; }
|
||||||
|
public void SetCharacterSet(string CharacterSet)
|
||||||
|
{
|
||||||
|
this.CharacterSet = CharacterSet;
|
||||||
|
}
|
||||||
public IFastest<T> RemoveDataCache()
|
public IFastest<T> RemoveDataCache()
|
||||||
{
|
{
|
||||||
CacheKey = typeof(T).FullName;
|
CacheKey = typeof(T).FullName;
|
||||||
|
@ -10,6 +10,7 @@ namespace SqlSugar
|
|||||||
public interface IFastBuilder
|
public interface IFastBuilder
|
||||||
{
|
{
|
||||||
SqlSugarProvider Context { get; set; }
|
SqlSugarProvider Context { get; set; }
|
||||||
|
string CharacterSet { get; set; }
|
||||||
Task<int> UpdateByTempAsync(string tableName,string tempName,string [] updateColumns,string[] whereColumns);
|
Task<int> UpdateByTempAsync(string tableName,string tempName,string [] updateColumns,string[] whereColumns);
|
||||||
Task<int> ExecuteBulkCopyAsync(DataTable dt);
|
Task<int> ExecuteBulkCopyAsync(DataTable dt);
|
||||||
Task CreateTempAsync<T>(DataTable dt) where T : class, new();
|
Task CreateTempAsync<T>(DataTable dt) where T : class, new();
|
||||||
|
@ -12,6 +12,7 @@ namespace SqlSugar
|
|||||||
IFastest<T> RemoveDataCache(string cacheKey);
|
IFastest<T> RemoveDataCache(string cacheKey);
|
||||||
IFastest<T> AS(string tableName);
|
IFastest<T> AS(string tableName);
|
||||||
IFastest<T> PageSize(int Size);
|
IFastest<T> PageSize(int Size);
|
||||||
|
void SetCharacterSet(string CharacterSet);
|
||||||
int BulkCopy(List<T> datas);
|
int BulkCopy(List<T> datas);
|
||||||
Task<int> BulkCopyAsync(List<T> datas);
|
Task<int> BulkCopyAsync(List<T> datas);
|
||||||
int BulkCopy(string tableName,DataTable dataTable);
|
int BulkCopy(string tableName,DataTable dataTable);
|
||||||
|
@ -44,6 +44,10 @@ namespace SqlSugar
|
|||||||
TableName = dt.TableName,
|
TableName = dt.TableName,
|
||||||
Local = true,
|
Local = true,
|
||||||
};
|
};
|
||||||
|
if (bulk.CharacterSet.HasValue())
|
||||||
|
{
|
||||||
|
bulk.CharacterSet = this.CharacterSet;
|
||||||
|
}
|
||||||
bulk.Columns.AddRange(dt.Columns.Cast<DataColumn>().Select(colum =>new MySqlBuilder().GetTranslationColumnName(colum.ColumnName)).Distinct().ToArray());
|
bulk.Columns.AddRange(dt.Columns.Cast<DataColumn>().Select(colum =>new MySqlBuilder().GetTranslationColumnName(colum.ColumnName)).Distinct().ToArray());
|
||||||
result= await bulk.LoadAsync();
|
result= await bulk.LoadAsync();
|
||||||
//执行成功才删除文件
|
//执行成功才删除文件
|
||||||
|
Loading…
Reference in New Issue
Block a user