mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-08-23 22:11:36 +08:00
Db.Fastest mysql
This commit is contained in:
parent
135f3ab53d
commit
0263c42856
@ -61,12 +61,14 @@ namespace OrmTest
|
|||||||
db.Insertable(new OrderItem()
|
db.Insertable(new OrderItem()
|
||||||
{
|
{
|
||||||
CreateTime = DateTime.Now,
|
CreateTime = DateTime.Now,
|
||||||
ItemId=1,
|
ItemId = 1,
|
||||||
OrderId=1,
|
OrderId = 1,
|
||||||
OrderName="a",
|
OrderName = "a",
|
||||||
Price = 11
|
Price = 11
|
||||||
}).UseMySql().ExecuteBulkCopy();
|
}).UseMySql().ExecuteBulkCopy();
|
||||||
var data = db.Queryable<Order>().ToList();
|
var data = db.Queryable<Order>().ToList();
|
||||||
|
db.Insertable(data).UseMySql().ExecuteBulkCopy();
|
||||||
|
db.Fastest<Order>().BulkUpdate(data);
|
||||||
Console.WriteLine("#### Insertable End ####");
|
Console.WriteLine("#### Insertable End ####");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -11,13 +11,13 @@ namespace SqlSugar
|
|||||||
{
|
{
|
||||||
public SqlSugarProvider Context { get; set; }
|
public SqlSugarProvider Context { get; set; }
|
||||||
|
|
||||||
public string UpdateSql { get; set; } = @"UPDATE TM
|
public virtual string UpdateSql { get; set; } = @"UPDATE TM
|
||||||
SET {0}
|
SET {0}
|
||||||
FROM {1} TM
|
FROM {1} TM
|
||||||
INNER JOIN {2} TE ON {3} ";
|
INNER JOIN {2} TE ON {3} ";
|
||||||
|
|
||||||
|
|
||||||
public void CloseDb()
|
public virtual void CloseDb()
|
||||||
{
|
{
|
||||||
if (this.Context.CurrentConnectionConfig.IsAutoCloseConnection && this.Context.Ado.Transaction == null)
|
if (this.Context.CurrentConnectionConfig.IsAutoCloseConnection && this.Context.Ado.Transaction == null)
|
||||||
{
|
{
|
||||||
@ -25,7 +25,7 @@ namespace SqlSugar
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<int> UpdateByTempAsync(string tableName, string tempName, string[] updateColumns, string[] whereColumns)
|
public virtual async Task<int> UpdateByTempAsync(string tableName, string tempName, string[] updateColumns, string[] whereColumns)
|
||||||
{
|
{
|
||||||
Check.ArgumentNullException(!updateColumns.Any(), "update columns count is 0");
|
Check.ArgumentNullException(!updateColumns.Any(), "update columns count is 0");
|
||||||
Check.ArgumentNullException(!whereColumns.Any(), "where columns count is 0");
|
Check.ArgumentNullException(!whereColumns.Any(), "where columns count is 0");
|
||||||
@ -35,7 +35,7 @@ namespace SqlSugar
|
|||||||
return await this.Context.Ado.ExecuteCommandAsync(sql);
|
return await this.Context.Ado.ExecuteCommandAsync(sql);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task CreateTempAsync<T>(DataTable dt) where T : class, new()
|
public virtual async Task CreateTempAsync<T>(DataTable dt) where T : class, new()
|
||||||
{
|
{
|
||||||
await this.Context.UnionAll(
|
await this.Context.UnionAll(
|
||||||
this.Context.Queryable<T>().Where(it => false).AS(dt.TableName),
|
this.Context.Queryable<T>().Where(it => false).AS(dt.TableName),
|
||||||
|
@ -13,6 +13,7 @@ namespace SqlSugar
|
|||||||
|
|
||||||
public class MySqlFastBuilder:FastBuilder,IFastBuilder
|
public class MySqlFastBuilder:FastBuilder,IFastBuilder
|
||||||
{
|
{
|
||||||
|
public override string UpdateSql { get; set; } = @"UPDATE {1} TM INNER JOIN {2} TE ON {3} SET {0} ";
|
||||||
public async Task<int> ExecuteBulkCopyAsync(DataTable dt)
|
public async Task<int> ExecuteBulkCopyAsync(DataTable dt)
|
||||||
{
|
{
|
||||||
|
|
||||||
@ -61,5 +62,11 @@ namespace SqlSugar
|
|||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
public override async Task CreateTempAsync<T>(DataTable dt)
|
||||||
|
{
|
||||||
|
dt.TableName = "temp"+SnowFlakeSingle.instance.getID();
|
||||||
|
var sql = this.Context.Queryable<T>().Where(it => false).ToSql().Key;
|
||||||
|
await this.Context.Ado.ExecuteCommandAsync($"Create TEMPORARY table {dt.TableName}({sql}) ");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user