Update db.Inserable.UseParameter

This commit is contained in:
sunkaixuna 2021-08-05 12:27:33 +08:00
parent 74bd920981
commit 587d69d41d
4 changed files with 26 additions and 8 deletions

View File

@ -40,6 +40,8 @@ namespace OrmTest
db.Insertable(insertObj).IgnoreColumns(it => new { it.CreateTime }).ExecuteReturnIdentity();//get identity db.Insertable(insertObj).IgnoreColumns(it => new { it.CreateTime }).ExecuteReturnIdentity();//get identity
db.Insertable(insertObj).IgnoreColumns("CreateTime").ExecuteReturnIdentity(); db.Insertable(insertObj).IgnoreColumns("CreateTime").ExecuteReturnIdentity();
var x=db.Insertable(updateObjs).RemoveDataCache().IgnoreColumns(it => it.CreateTime).UseParameter().ExecuteCommand();
//Only insert Name and Price //Only insert Name and Price
db.Insertable(insertObj).InsertColumns(it => new { it.Name, it.Price }).ExecuteReturnIdentity(); db.Insertable(insertObj).InsertColumns(it => new { it.Name, it.Price }).ExecuteReturnIdentity();
db.Insertable(insertObj).InsertColumns("Name", "Price").ExecuteReturnIdentity(); db.Insertable(insertObj).InsertColumns("Name", "Price").ExecuteReturnIdentity();

View File

@ -36,7 +36,7 @@ namespace OrmTest
new Order() { Id = 12, Name = "order12" , Price=0} new Order() { Id = 12, Name = "order12" , Price=0}
}; };
db.Insertable(insertObjs).RemoveDataCache().IgnoreColumns(it=>it.CreateTime).UseParameter().ExecuteCommand(); var x=db.Insertable(insertObjs).RemoveDataCache().IgnoreColumns(it=>it.CreateTime).UseParameter().ExecuteCommand();
//Ignore CreateTime //Ignore CreateTime
db.Insertable(insertObj).IgnoreColumns(it => new { it.CreateTime }).ExecuteReturnIdentity();//get identity db.Insertable(insertObj).IgnoreColumns(it => new { it.CreateTime }).ExecuteReturnIdentity();//get identity

View File

@ -20,6 +20,8 @@ namespace SqlSugar
var objects = inserable.InsertObjs; var objects = inserable.InsertObjs;
this.Context.Utilities.PageEach(objects, 60, pagelist => this.Context.Utilities.PageEach(objects, 60, pagelist =>
{ {
if (this.Context.CurrentConnectionConfig.DbType == DbType.Oracle)
this.Context.AddQueue("begin");
foreach (var item in pagelist) foreach (var item in pagelist)
{ {
var itemable = this.Context.Insertable(item); var itemable = this.Context.Insertable(item);
@ -28,9 +30,13 @@ namespace SqlSugar
(itemable as InsertableProvider<T>).RemoveCacheFunc = removeCacheFunc; (itemable as InsertableProvider<T>).RemoveCacheFunc = removeCacheFunc;
itemable.AddQueue(); itemable.AddQueue();
} }
result+=this.Context.SaveQueues(false); if (this.Context.CurrentConnectionConfig.DbType == DbType.Oracle)
this.Context.AddQueue("end \r\n");
result +=this.Context.SaveQueues(false);
}); });
return 0; if (this.Context.CurrentConnectionConfig.DbType == DbType.Oracle)
return objects.Length;
return result;
} }
public async Task<int> ExecuteCommandAsync() public async Task<int> ExecuteCommandAsync()
{ {
@ -42,6 +48,8 @@ namespace SqlSugar
var objects = inserable.InsertObjs; var objects = inserable.InsertObjs;
await this.Context.Utilities.PageEachAsync<T,int>(objects, 60,async pagelist => await this.Context.Utilities.PageEachAsync<T,int>(objects, 60,async pagelist =>
{ {
if (this.Context.CurrentConnectionConfig.DbType == DbType.Oracle)
this.Context.AddQueue("Begin");
foreach (var item in pagelist) foreach (var item in pagelist)
{ {
var itemable = this.Context.Insertable(item); var itemable = this.Context.Insertable(item);
@ -50,7 +58,11 @@ namespace SqlSugar
(itemable as InsertableProvider<T>).RemoveCacheFunc = removeCacheFunc; (itemable as InsertableProvider<T>).RemoveCacheFunc = removeCacheFunc;
itemable.AddQueue(); itemable.AddQueue();
} }
result+= await this.Context.SaveQueuesAsync(false); if (this.Context.CurrentConnectionConfig.DbType == DbType.Oracle)
this.Context.AddQueue("End");
result += await this.Context.SaveQueuesAsync(false);
if (this.Context.CurrentConnectionConfig.DbType == DbType.Oracle)
return objects.Length;
return result; return result;
}); });
return result; return result;

View File

@ -1048,10 +1048,10 @@ namespace SqlSugar
{ {
try try
{ {
if (this.CurrentConnectionConfig.DbType == DbType.Oracle) //if (this.CurrentConnectionConfig.DbType == DbType.Oracle)
{ //{
throw new Exception("Oracle no support SaveQueues"); // throw new Exception("Oracle no support SaveQueues");
} //}
if (this.Queues == null || this.Queues.Count == 0) return default(T); if (this.Queues == null || this.Queues.Count == 0) return default(T);
isTran = isTran && this.Ado.Transaction == null; isTran = isTran && this.Ado.Transaction == null;
if (isTran) this.Ado.BeginTran(); if (isTran) this.Ado.BeginTran();
@ -1084,6 +1084,10 @@ namespace SqlSugar
.TrimEnd('\r') .TrimEnd('\r')
.TrimEnd('\n') .TrimEnd('\n')
.TrimEnd(';') + ";"; .TrimEnd(';') + ";";
if (itemSql == "begin;" )
{
itemSql = itemSql.TrimEnd(';')+"\n";
}
sqlBuilder.AppendLine(itemSql); sqlBuilder.AppendLine(itemSql);
index++; index++;
} }