mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-08-23 22:11:36 +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 SqlSugarProvider Context { get; set; }
|
||||
|
||||
public virtual string CharacterSet { get; set; }
|
||||
public virtual string UpdateSql { get; set; } = @"UPDATE TM
|
||||
SET {0}
|
||||
FROM {1} TM
|
||||
|
@ -14,7 +14,9 @@ namespace SqlSugar
|
||||
switch (this.context.CurrentConnectionConfig.DbType)
|
||||
{
|
||||
case DbType.MySql:
|
||||
return new MySqlFastBuilder();
|
||||
var result= new MySqlFastBuilder();
|
||||
result.CharacterSet = this.CharacterSet;
|
||||
return result;
|
||||
case DbType.SqlServer:
|
||||
return new SqlServerFastBuilder();
|
||||
case DbType.Sqlite:
|
||||
@ -24,7 +26,9 @@ namespace SqlSugar
|
||||
case DbType.PostgreSQL:
|
||||
return new PostgreSQLFastBuilder(this.entityInfo);
|
||||
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:
|
||||
break;
|
||||
case DbType.Kdbndp:
|
||||
|
@ -12,6 +12,11 @@ namespace SqlSugar
|
||||
private int Size { get; set; }
|
||||
private string CacheKey { get; set; }
|
||||
private string CacheKeyLike { get; set; }
|
||||
private string CharacterSet { get; set; }
|
||||
public void SetCharacterSet(string CharacterSet)
|
||||
{
|
||||
this.CharacterSet = CharacterSet;
|
||||
}
|
||||
public IFastest<T> RemoveDataCache()
|
||||
{
|
||||
CacheKey = typeof(T).FullName;
|
||||
|
@ -10,6 +10,7 @@ namespace SqlSugar
|
||||
public interface IFastBuilder
|
||||
{
|
||||
SqlSugarProvider Context { get; set; }
|
||||
string CharacterSet { get; set; }
|
||||
Task<int> UpdateByTempAsync(string tableName,string tempName,string [] updateColumns,string[] whereColumns);
|
||||
Task<int> ExecuteBulkCopyAsync(DataTable dt);
|
||||
Task CreateTempAsync<T>(DataTable dt) where T : class, new();
|
||||
|
@ -12,6 +12,7 @@ namespace SqlSugar
|
||||
IFastest<T> RemoveDataCache(string cacheKey);
|
||||
IFastest<T> AS(string tableName);
|
||||
IFastest<T> PageSize(int Size);
|
||||
void SetCharacterSet(string CharacterSet);
|
||||
int BulkCopy(List<T> datas);
|
||||
Task<int> BulkCopyAsync(List<T> datas);
|
||||
int BulkCopy(string tableName,DataTable dataTable);
|
||||
|
@ -44,6 +44,10 @@ namespace SqlSugar
|
||||
TableName = dt.TableName,
|
||||
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());
|
||||
result= await bulk.LoadAsync();
|
||||
//执行成功才删除文件
|
||||
|
Loading…
Reference in New Issue
Block a user