Exemple #1
0
            private int[] GetColumnOrdinals(NamedColumn[] namedColumns)
            {
                DbDataReader bufferReader = BufferReader ?? DataReader;

                if ((namedColumns == null) || (namedColumns.Length == 0))
                {
                    return(null);
                }
                var numArray   = new int[namedColumns.Length];
                var dictionary = new Dictionary <string, int>(StringComparer.OrdinalIgnoreCase);
                int ordinal    = 0;
                int fieldCount = bufferReader.FieldCount;

                while (ordinal < fieldCount)
                {
                    dictionary[SqlIdentifier.QuoteCompoundIdentifier(bufferReader.GetName(ordinal))] = ordinal;
                    ordinal++;
                }
                int index  = 0;
                int length = namedColumns.Length;

                while (index < length)
                {
                    int num5;
                    if (dictionary.TryGetValue(SqlIdentifier.QuoteCompoundIdentifier(namedColumns[index].Name), out num5))
                    {
                        numArray[index] = num5;
                    }
                    else
                    {
                        if (namedColumns[index].IsRequired)
                        {
                            throw Error.RequiredColumnDoesNotExist(namedColumns[index].Name);
                        }
                        numArray[index] = -1;
                    }
                    index++;
                }
                return(numArray);
            }
Exemple #2
0
 // Methods
 internal SqlMultiplexer(Options options, IEnumerable <SqlParameter> parentParameters, SqlFactory sqlFactory, SqlIdentifier sqlIdentity)
 {
     this.sqlIdentity = sqlIdentity;
     this.visitor     = new Visitor(options, parentParameters, sqlFactory, sqlIdentity);
 }
Exemple #3
0
 public SqlBuilder(ALinq.SqlClient.SqlIdentifier sqlIdentifier)
 {
     this.sqlIdentifier = sqlIdentifier;
 }
Exemple #4
0
 internal void SetIdentifier(SqlIdentifier sqlIdentifier)
 {
     visitor.SqlIdentifier = sqlIdentifier;
 }
Exemple #5
0
 public DatabaseSqlBuilder(SqlProvider sqlProvider)
 {
     SqlIdentifier = sqlProvider.SqlIdentifier;
     Mode          = sqlProvider.Mode;
     TypeProvider  = sqlProvider.TypeProvider;
 }
Exemple #6
0
 public SqlBuilder(SqlProvider sqlProvider)
 {
     this.sqlIdentifier = sqlProvider.SqlIdentifier;
 }
Exemple #7
0
        // Methods
        internal static SqlClientQuery Extract(SqlSubSelect subquery, IEnumerable <SqlParameter> parentParameters, SqlIdentifier sqlIdentity)
        {
            var query = new SqlClientQuery(subquery);

            if (parentParameters != null)
            {
                //query.Parameters.AddRange(parentParameters);
                foreach (var parameter in parentParameters)
                {
                    query.Parameters.Add(parameter);
                }
            }
            var visitor = new Visitor(query.Arguments, query.Parameters, sqlIdentity);

            query.Query = (SqlSubSelect)visitor.Visit(subquery);
            return(query);
        }
Exemple #8
0
 // Methods
 internal Visitor(IList <SqlExpression> externals, IList <SqlParameter> parameters, SqlIdentifier sqlIdentity)
     : base(true)
 {
     this.externals   = externals;
     this.parameters  = parameters;
     this.sqlIdentity = sqlIdentity;
 }