public async Task <int> ExecuteCommandAsync() { if (this.InsertObjs.Count() == 1 && this.InsertObjs.First() == null) { return(0); } string sql = _ExecuteCommand(); var result = await Ado.ExecuteCommandAsync(sql, InsertBuilder.Parameters == null?null : InsertBuilder.Parameters.ToArray()); After(sql, null); return(result); }
public async override Task <long> ExecuteReturnBigIdentityAsync() { bool oldIsAuto = AutoBegin(); InsertBuilder.IsReturnIdentity = true; PreToSql(); string sql = InsertBuilder.ToSqlString(); RestoreMapping(); var isDisableMasterSlaveSeparation = this.Context.Ado.IsDisableMasterSlaveSeparation; this.Context.Ado.IsDisableMasterSlaveSeparation = true; var count = await Ado.ExecuteCommandAsync(sql, InsertBuilder.Parameters == null?null : InsertBuilder.Parameters.ToArray()); var result = (this.GetIdentityKeys().IsNullOrEmpty() || count == 0) ? 0 : Convert.ToInt64(GetSeqValue(GetSeqName())); this.Context.Ado.IsDisableMasterSlaveSeparation = isDisableMasterSlaveSeparation; After(sql, result); AutoEnd(oldIsAuto); return(result); }