I created a fork of this project with column order option and added a PR to the original repository. OrdinalAttribute
was added to specify columns order.
The ordinal attribute can be used as shown below:
public class ObjectReaderWithDefinedColumnsOrderType
{
[Ordinal(1)]
public byte C { get; set; }
[Ordinal(0)]
public int? D { get; set; }
}
IDataReader
object returned in ObjectReader.Create()
will have columns order according to the defined attributes.
- If the attribute is not defined in the source class then alphabetical order is used.
- If two fields have the same Ordinal value then then alphabetical order is used.
- If the attribute is defined only for some properties then the columns are sorted by the ordinal values and then in alphabetical order (properties with no attributes are considered as
-1
ordinal).
You can use my for right away or wait until the PR is merged with the original repository.