/// <summary> /// Builds the chunks. /// </summary> /// <returns></returns> public List <StatementBuilderResult> BuildChunks() { var chunks = new List <StatementBuilderResult>(); var combinedCmd = new StringBuilder(); var parameters = new DynamicParameters(); for (var i = 0; i < Commands.Count; i++) { var nextCommand = Commands[i].Statement.Replace("[@]", string.Format("@{0}_", i)); var nextParamCount = Commands[i].ParameterList != null ? Commands[i].ParameterList.Count : 0; if (parameters.Count() + nextParamCount > 2000) { chunks.Add(new StatementBuilderResult() { Statement = combinedCmd.ToString(), ParameterList = parameters }); combinedCmd.Length = 0; parameters = new DynamicParameters(); } combinedCmd.AppendLine(nextCommand); if (Commands[i].ParameterList != null) { Commands[i].ParameterList.AddDynamicParametersById(parameters, i); } } chunks.Add(new StatementBuilderResult() { Statement = combinedCmd.ToString(), ParameterList = parameters }); return(chunks); }