mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-05-07 06:07:59 +08:00
Synchronization code
This commit is contained in:
parent
039b716a91
commit
882bdfb290
@ -16,6 +16,7 @@ namespace SqlSugar
|
|||||||
public bool IsEnableDiffLogEvent { get; internal set; }
|
public bool IsEnableDiffLogEvent { get; internal set; }
|
||||||
public DiffLogModel DiffModel { get; internal set; }
|
public DiffLogModel DiffModel { get; internal set; }
|
||||||
public bool IsOffIdentity { get; internal set; }
|
public bool IsOffIdentity { get; internal set; }
|
||||||
|
public bool IsInsertColumnsNull { get; internal set; }
|
||||||
|
|
||||||
public int ExecuteCommand()
|
public int ExecuteCommand()
|
||||||
{
|
{
|
||||||
@ -34,7 +35,7 @@ namespace SqlSugar
|
|||||||
}
|
}
|
||||||
this.Context.Utilities.PageEach(DataList, PageSize, pageItem =>
|
this.Context.Utilities.PageEach(DataList, PageSize, pageItem =>
|
||||||
{
|
{
|
||||||
result += this.Context.Insertable(pageItem).AS(TableName).OffIdentity(IsOffIdentity).EnableDiffLogEventIF(IsEnableDiffLogEvent, DiffModel).InsertColumns(InsertColumns.ToArray()).ExecuteCommand();
|
result += this.Context.Insertable(pageItem).AS(TableName).IgnoreColumnsNull(this.IsInsertColumnsNull).OffIdentity(IsOffIdentity).EnableDiffLogEventIF(IsEnableDiffLogEvent, DiffModel).InsertColumns(InsertColumns.ToArray()).ExecuteCommand();
|
||||||
});
|
});
|
||||||
if (isNoTran)
|
if (isNoTran)
|
||||||
{
|
{
|
||||||
@ -68,7 +69,7 @@ namespace SqlSugar
|
|||||||
}
|
}
|
||||||
await this.Context.Utilities.PageEachAsync(DataList, PageSize, async pageItem =>
|
await this.Context.Utilities.PageEachAsync(DataList, PageSize, async pageItem =>
|
||||||
{
|
{
|
||||||
result +=await this.Context.Insertable(pageItem).AS(TableName).OffIdentity(IsOffIdentity).EnableDiffLogEventIF(IsEnableDiffLogEvent, DiffModel).InsertColumns(InsertColumns.ToArray()).ExecuteCommandAsync();
|
result +=await this.Context.Insertable(pageItem).AS(TableName).IgnoreColumnsNull(this.IsInsertColumnsNull).OffIdentity(IsOffIdentity).EnableDiffLogEventIF(IsEnableDiffLogEvent, DiffModel).InsertColumns(InsertColumns.ToArray()).ExecuteCommandAsync();
|
||||||
});
|
});
|
||||||
if (isNoTran)
|
if (isNoTran)
|
||||||
{
|
{
|
||||||
@ -154,5 +155,12 @@ namespace SqlSugar
|
|||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public InsertablePage<T> IgnoreColumnsNull(bool isIgnoreNull = true)
|
||||||
|
{
|
||||||
|
this.PageSize = 1;
|
||||||
|
this.IsInsertColumnsNull = isIgnoreNull;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -522,6 +522,16 @@ namespace SqlSugar
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public IInsertable<T> IgnoreColumnsNull(bool isIgnoreNull = true)
|
||||||
|
{
|
||||||
|
if (isIgnoreNull)
|
||||||
|
{
|
||||||
|
Check.Exception(this.InsertObjs.Count() > 1 , ErrorMessage.GetThrowMessage("ignoreNullColumn NoSupport batch insert, use .PageSize(1).IgnoreColumnsNull().ExecuteCommand()", "ignoreNullColumn 不支持批量操作,你可以用PageSzie(1).IgnoreColumnsNull().ExecuteCommand()"));
|
||||||
|
this.InsertBuilder.IsNoInsertNull = true;
|
||||||
|
}
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public IInsertable<T> MySqlIgnore()
|
public IInsertable<T> MySqlIgnore()
|
||||||
{
|
{
|
||||||
this.InsertBuilder.MySqlIgnore = true;
|
this.InsertBuilder.MySqlIgnore = true;
|
||||||
@ -567,7 +577,7 @@ namespace SqlSugar
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
public IInsertable<T> IgnoreColumns(bool ignoreNullColumn, bool isOffIdentity = false) {
|
public IInsertable<T> IgnoreColumns(bool ignoreNullColumn, bool isOffIdentity = false) {
|
||||||
Check.Exception(this.InsertObjs.Count() > 1&& ignoreNullColumn, ErrorMessage.GetThrowMessage("ignoreNullColumn NoSupport batch insert", "ignoreNullColumn 不支持批量操作"));
|
Check.Exception(this.InsertObjs.Count() > 1&& ignoreNullColumn, ErrorMessage.GetThrowMessage("ignoreNullColumn NoSupport batch insert, use .PageSize(1).IgnoreColumnsNull().ExecuteCommand()", "ignoreNullColumn 不支持批量操作, 你可以使用 .PageSize(1).IgnoreColumnsNull().ExecuteCommand()"));
|
||||||
this.IsOffIdentity = isOffIdentity;
|
this.IsOffIdentity = isOffIdentity;
|
||||||
this.InsertBuilder.IsOffIdentity = isOffIdentity;
|
this.InsertBuilder.IsOffIdentity = isOffIdentity;
|
||||||
if (this.InsertBuilder.LambdaExpressions == null)
|
if (this.InsertBuilder.LambdaExpressions == null)
|
||||||
|
@ -43,6 +43,7 @@ namespace SqlSugar
|
|||||||
IInsertable<T> IgnoreColumns(Expression<Func<T, object>> columns);
|
IInsertable<T> IgnoreColumns(Expression<Func<T, object>> columns);
|
||||||
IInsertable<T> IgnoreColumns(params string[]columns);
|
IInsertable<T> IgnoreColumns(params string[]columns);
|
||||||
IInsertable<T> IgnoreColumns(bool ignoreNullColumn, bool isOffIdentity = false);
|
IInsertable<T> IgnoreColumns(bool ignoreNullColumn, bool isOffIdentity = false);
|
||||||
|
IInsertable<T> IgnoreColumnsNull(bool isIgnoreNull = true);
|
||||||
|
|
||||||
ISubInsertable<T> AddSubList(Expression<Func<T, object>> subForeignKey);
|
ISubInsertable<T> AddSubList(Expression<Func<T, object>> subForeignKey);
|
||||||
ISubInsertable<T> AddSubList(Expression<Func<T, SubInsertTree>> tree);
|
ISubInsertable<T> AddSubList(Expression<Func<T, SubInsertTree>> tree);
|
||||||
|
Loading…
Reference in New Issue
Block a user