Ejemplo n.º 1
0
        private Func <Func <IRecordContext, object[], object> > GetReader(IDynamicSeparatedValueTypeMapper defaultMapper)
        {
            var source = (IMapperSource)defaultMapper;
            var reader = source.GetMapper();

            return(() => reader.GetReader());
        }
Ejemplo n.º 2
0
        public DirectVsDynamicTester()
        {
            var directMapper = SeparatedValueTypeMapper.Define <Person>(() => new Person());

            directMapper.Property(x => x.Name).ColumnName("Name");
            directMapper.Property(x => x.IQ).ColumnName("IQ");
            directMapper.Property(x => x.BirthDate).ColumnName("BirthDate");
            directMapper.Property(x => x.TopSpeed).ColumnName("TopSpeed");
            directMapper.Property(x => x.IsActive).ColumnName("IsActive");
            this.directMapper = directMapper;

            var dynamicMapper = SeparatedValueTypeMapper.DefineDynamic(typeof(Person));

            dynamicMapper.StringProperty("Name").ColumnName("Name");
            dynamicMapper.Int32Property("IQ").ColumnName("IQ");
            dynamicMapper.DateTimeProperty("BirthDate").ColumnName("BirthDate");
            dynamicMapper.DecimalProperty("TopSpeed").ColumnName("TopSpeed");
            dynamicMapper.BooleanProperty("IsActive").ColumnName("IsActive");
            this.dynamicMapper = dynamicMapper;

            this.people = Enumerable.Range(0, 10000).Select(i => new Person()
            {
                Name      = "Susan",
                IQ        = 132,
                BirthDate = new DateTime(1984, 3, 15),
                TopSpeed  = 10.1m
            }).ToArray();
        }
Ejemplo n.º 3
0
 /// <summary>
 /// Provides the schema to use by default when no other matches are found.
 /// </summary>
 /// <param name="typeMapper">The default schema to use.</param>
 public void WithDefault(IDynamicSeparatedValueTypeMapper typeMapper)
 {
     this.defaultMatcher = typeMapper == null ? nonMatcher : new TypeMapperMatcher()
     {
         TypeMapper = typeMapper,
         Predicate  = (o) => true
     };
 }
Ejemplo n.º 4
0
 internal void Add(IDynamicSeparatedValueTypeMapper typeMapper, Func <object, bool> predicate)
 {
     matchers.Add(new TypeMapperMatcher()
     {
         TypeMapper = typeMapper,
         Predicate  = predicate
     });
 }
Ejemplo n.º 5
0
 public void Use(IDynamicSeparatedValueTypeMapper typeMapper)
 {
     if (typeMapper == null)
     {
         throw new ArgumentNullException(nameof(typeMapper));
     }
     selector.Add(typeMapper, predicate);
 }
Ejemplo n.º 6
0
 /// <summary>
 /// Provides the schema to use by default when no other matches are found.
 /// </summary>
 /// <param name="typeMapper">The default schema to use.</param>
 public void WithDefault(IDynamicSeparatedValueTypeMapper typeMapper)
 {
     defaultMapper = typeMapper;
 }
Ejemplo n.º 7
0
 /// <summary>
 /// Provides the schema to use by default when no other matches are found.
 /// </summary>
 /// <param name="typeMapper">The default type mapper to use.</param>
 public void WithDefault <TEntity>(ISeparatedValueTypeMapper <TEntity> typeMapper)
 {
     defaultMapper = (IDynamicSeparatedValueTypeMapper)typeMapper;
 }