Ejemplo n.º 1
0
        public ParameterMetadata BuildParameterMetadata()
        {
            var parameterTranslations = GetParameterTranslations();

            var ordinalDescriptors = new OrdinalParameterDescriptor[parameterTranslations.OrdinalParameterCount];

            for (var i = 1; i <= ordinalDescriptors.Length; i++)
            {
                ordinalDescriptors[i - 1] =
                    new OrdinalParameterDescriptor(i,
                                                   parameterTranslations.SupportsOrdinalParameterMetadata
                                                                                                           ? parameterTranslations.GetOrdinalParameterExpectedType(i)
                                                                                                           : null, parameterTranslations.GetOrdinalParameterSqlLocation(i));
            }

            var namedDescriptorMap = new Dictionary <string, NamedParameterDescriptor>();

            foreach (var name in parameterTranslations.GetNamedParameterNames())
            {
                namedDescriptorMap[name] =
                    new NamedParameterDescriptor(name, parameterTranslations.GetNamedParameterExpectedType(name),
                                                 parameterTranslations.GetNamedParameterSqlLocations(name), false);                                                // description.JpaStyle);
            }

            return(new ParameterMetadata(ordinalDescriptors, namedDescriptorMap));
        }
Ejemplo n.º 2
0
        public ParameterMetadata(OrdinalParameterDescriptor[] ordinalDescriptors,
                                 IDictionary<string, NamedParameterDescriptor> namedDescriptorMap)
        {
            if (ordinalDescriptors == null)
            {
                this.ordinalDescriptors = EmptyOrdinals;
            }
            else
            {
                OrdinalParameterDescriptor[] copy = new OrdinalParameterDescriptor[ordinalDescriptors.Length];
                Array.Copy(ordinalDescriptors, 0, copy, 0, ordinalDescriptors.Length);
                this.ordinalDescriptors = copy;
            }

            if (namedDescriptorMap == null)
                this.namedDescriptorMap = new Dictionary<string, NamedParameterDescriptor>();
            else
                this.namedDescriptorMap = new Dictionary<string, NamedParameterDescriptor>(namedDescriptorMap);
        }