ModelReader.EntityPropertyReader.cs 839 B

1234567891011121314151617181920212223242526272829303132333435
  1. using System.Data;
  2. using Vitorm.Entity;
  3. namespace Vitorm.Sql.DataReader
  4. {
  5. partial class ModelReader
  6. {
  7. class EntityPropertyReader : SqlFieldReader
  8. {
  9. public IColumnDescriptor column { get; protected set; }
  10. public EntityPropertyReader(IColumnDescriptor column, int sqlColumnIndex)
  11. : base(column.type, sqlColumnIndex)
  12. {
  13. this.column = column;
  14. }
  15. public bool Read(IDataReader reader, object entity)
  16. {
  17. var value = Read(reader);
  18. if (value != null)
  19. {
  20. column.SetValue(entity, value);
  21. return true;
  22. }
  23. if (column.isKey) return false;
  24. return true;
  25. }
  26. }
  27. }
  28. }