MappingField.cs 1015 B

1234567891011121314151617181920212223242526272829303132333435
  1. using Ant.Core;
  2. using Ant.Mapper;
  3. using Ant.ORM;
  4. using System;
  5. using System.Collections.Generic;
  6. using System.Data;
  7. using System.Linq;
  8. using System.Reflection;
  9. using System.Text;
  10. namespace Ant.Query.Mapping
  11. {
  12. public class MappingField : IObjectActivatorCreator
  13. {
  14. Type _type;
  15. public MappingField(Type type, int readerOrdinal)
  16. {
  17. this._type = type;
  18. this.ReaderOrdinal = readerOrdinal;
  19. }
  20. public int ReaderOrdinal { get; private set; }
  21. public int? CheckNullOrdinal { get; set; }
  22. public IObjectActivator CreateObjectActivator()
  23. {
  24. return this.CreateObjectActivator(null);
  25. }
  26. public IObjectActivator CreateObjectActivator(AntORM dbContext)
  27. {
  28. Func<IDataReader, int, object> fn = MappingTypeConstructor.GetInstance(this._type).InstanceCreator;
  29. MappingFieldActivator act = new MappingFieldActivator(fn, this.ReaderOrdinal);
  30. return act;
  31. }
  32. }
  33. }