Update SqlServer Insert

This commit is contained in:
sunkaixuan
2022-08-23 23:46:01 +08:00
parent 75aeedfa00
commit 78efee8ebd
3 changed files with 8 additions and 1 deletions

View File

@@ -109,7 +109,8 @@ namespace SqlSugar
else if (isIdEntity && this.InsertBuilder.ConvertInsertReturnIdFunc != null) else if (isIdEntity && this.InsertBuilder.ConvertInsertReturnIdFunc != null)
{ {
string sql = _ExecuteCommand(); string sql = _ExecuteCommand();
sql= this.InsertBuilder.ConvertInsertReturnIdFunc(SqlBuilder.GetTranslationColumnName(pkInfo.DbColumnName),sql); InsertBuilder.IsNoPage = true;
sql = this.InsertBuilder.ConvertInsertReturnIdFunc(SqlBuilder.GetTranslationColumnName(pkInfo.DbColumnName),sql);
var result = Ado.SqlQuery<Type>(sql, InsertBuilder.Parameters == null ? null : InsertBuilder.Parameters.ToArray()); var result = Ado.SqlQuery<Type>(sql, InsertBuilder.Parameters == null ? null : InsertBuilder.Parameters.ToArray());
After(sql, null); After(sql, null);
return result; return result;

View File

@@ -122,6 +122,7 @@ namespace SqlSugar
} }
public virtual Func<string,string,string> ConvertInsertReturnIdFunc { get; set; } public virtual Func<string,string,string> ConvertInsertReturnIdFunc { get; set; }
public virtual bool IsNoPage { get; set; }
public virtual ExpressionResult GetExpressionValue(Expression expression, ResolveExpressType resolveType) public virtual ExpressionResult GetExpressionValue(Expression expression, ResolveExpressType resolveType)
{ {

View File

@@ -12,6 +12,7 @@ namespace SqlSugar
{ {
return sql.Replace("select SCOPE_IDENTITY();", "").Replace(")\r\n SELECT", $")\r\n OUTPUT INSERTED.{name} as {name} \r\nSELECT"); return sql.Replace("select SCOPE_IDENTITY();", "").Replace(")\r\n SELECT", $")\r\n OUTPUT INSERTED.{name} as {name} \r\nSELECT");
}; };
public override bool IsNoPage { get; set; } = true;
public override string ToSqlString() public override string ToSqlString()
{ {
if (IsNoInsertNull) if (IsNoInsertNull)
@@ -38,6 +39,10 @@ namespace SqlSugar
{ {
pageSize = 100; pageSize = 100;
} }
if (IsNoPage)
{
pageSize = groupList.Count;
}
int pageIndex = 1; int pageIndex = 1;
int totalRecord = groupList.Count; int totalRecord = groupList.Count;
int pageCount = (totalRecord + pageSize - 1) / pageSize; int pageCount = (totalRecord + pageSize - 1) / pageSize;