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)); }
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); }