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("CreateTime").ExecuteReturnIdentity();
var x=db.Insertable(updateObjs).RemoveDataCache().IgnoreColumns(it => it.CreateTime).UseParameter().ExecuteCommand();
//Only insert Name and Price
db.Insertable(insertObj).InsertColumns(it => new { it.Name, it.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}
};
db.Insertable(insertObjs).RemoveDataCache().IgnoreColumns(it=>it.CreateTime).UseParameter().ExecuteCommand();
var x=db.Insertable(insertObjs).RemoveDataCache().IgnoreColumns(it=>it.CreateTime).UseParameter().ExecuteCommand();
//Ignore CreateTime
db.Insertable(insertObj).IgnoreColumns(it => new { it.CreateTime }).ExecuteReturnIdentity();//get identity

View File

@ -20,6 +20,8 @@ namespace SqlSugar
var objects = inserable.InsertObjs;
this.Context.Utilities.PageEach(objects, 60, pagelist =>
{
if (this.Context.CurrentConnectionConfig.DbType == DbType.Oracle)
this.Context.AddQueue("begin");
foreach (var item in pagelist)
{
var itemable = this.Context.Insertable(item);
@ -28,9 +30,13 @@ namespace SqlSugar
(itemable as InsertableProvider<T>).RemoveCacheFunc = removeCacheFunc;
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()
{
@ -42,6 +48,8 @@ namespace SqlSugar
var objects = inserable.InsertObjs;
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)
{
var itemable = this.Context.Insertable(item);
@ -50,7 +58,11 @@ namespace SqlSugar
(itemable as InsertableProvider<T>).RemoveCacheFunc = removeCacheFunc;
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;

View File

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