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();
        }
示例#2
0
        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();
        }