/// <summary> /// Creates new <see cref="QueryParameterBinding"/> with specified /// <paramref name="valueType"/> and <paramref name="valueAccessor"/>. /// </summary> /// <param name="valueType">Value type to use.</param> /// <param name="valueAccessor">Value accessor to use.</param> /// <returns>Created binding.</returns> public QueryParameterBinding CreateParameterBinding(Type valueType, Func <ParameterContext, object> valueAccessor) { ArgumentValidator.EnsureArgumentNotNull(valueType, "valueType"); ArgumentValidator.EnsureArgumentNotNull(valueAccessor, "valueAccessor"); var mapping = driver.GetTypeMapping(valueType); return(new QueryParameterBinding( new Providers.QueryParameterBinding(mapping, valueAccessor))); }
// Constructors public MetadataMapping(StorageDriver driver, NameBuilder nameBuilder) { this.nameBuilder = nameBuilder; Assembly = TableOf(typeof (Assembly)); AssemblyName = ColumnOf((Assembly x) => x.Name); AssemblyVersion = ColumnOf((Assembly x) => x.Version); Type = TableOf(typeof (Metadata.Type)); TypeId = ColumnOf((Metadata.Type x) => x.Id); TypeName = ColumnOf((Metadata.Type x) => x.Name); Extension = TableOf(typeof (Extension)); ExtensionName = ColumnOf((Extension x) => x.Name); ExtensionText = ColumnOf((Extension x) => x.Text); StringMapping = driver.GetTypeMapping(WellKnownTypes.String); IntMapping = driver.GetTypeMapping(WellKnownTypes.Int32); }