private void GenerateParameters(ProcedureParameter parameter) { _sb.AppendLine($"var parameter{parameter.Name} = new SqlParameter"); _sb.AppendLine("{"); using (_sb.Indent()) { _sb.AppendLine($"ParameterName = \"{parameter.Name}\","); if (parameter.Precision > 0) { _sb.AppendLine($"Precision = {parameter.Precision},"); } if (parameter.Scale > 0) { _sb.AppendLine($"Scale = {parameter.Scale},"); } if (parameter.Length > 0) { _sb.AppendLine($"Size = {parameter.Length},"); } if (parameter.Output) { _sb.AppendLine("Direction = System.Data.ParameterDirection.Output,"); } _sb.AppendLine($"SqlDbType = System.Data.SqlDbType.{parameter.DbType()},"); _sb.AppendLine($"Value = {parameter.Name},"); } _sb.AppendLine("};"); _sb.AppendLine(); }
private void GenerateParameters(ProcedureParameter parameter) { _sb.AppendLine($"var parameter{parameter.Name} = new SqlParameter"); _sb.AppendLine("{"); var sqlDbType = parameter.DbType(); using (_sb.Indent()) { _sb.AppendLine($"ParameterName = \"{parameter.Name}\","); if (_scaleTypes.Contains(sqlDbType)) { if (parameter.Precision > 0) { _sb.AppendLine($"Precision = {parameter.Precision},"); } if (parameter.Scale > 0) { _sb.AppendLine($"Scale = {parameter.Scale},"); } } if (parameter.Length > 0 && _lengthRequiredTypes.Contains(sqlDbType)) { _sb.AppendLine($"Size = {parameter.Length},"); } if (parameter.Output) { _sb.AppendLine("Direction = System.Data.ParameterDirection.Output,"); } else { var value = parameter.Nullable ? $"{parameter.Name} ?? Convert.DBNull" : $"{parameter.Name}"; _sb.AppendLine($"Value = {value},"); } _sb.AppendLine($"SqlDbType = System.Data.SqlDbType.{sqlDbType},"); if (sqlDbType == System.Data.SqlDbType.Structured) { _sb.AppendLine($"TypeName = \"{parameter.TypeName}\","); } } _sb.AppendLine("};"); _sb.AppendLine(); }