使用 TypeAccessor.Create FastMember 时,似乎总是返回按字母排序的列列表。是否可以告诉它保留类中列的顺序?
例如:
var testClass = new { B = "1", A = "2" };
将从GetMembers返回A列然后B,如果可能的话,我想让它保留B然后A的顺序。
使用 TypeAccessor.Create FastMember 时,似乎总是返回按字母排序的列列表。是否可以告诉它保留类中列的顺序?
例如:
var testClass = new { B = "1", A = "2" };
将从GetMembers返回A列然后B,如果可能的话,我想让它保留B然后A的顺序。
我使用列顺序选项创建了这个项目的一个分支,并向原始存储库添加了一个PR 。OrdinalAttribute
添加以指定列顺序。
可以使用序数属性,如下所示:
public class ObjectReaderWithDefinedColumnsOrderType
{
[Ordinal(1)]
public byte C { get; set; }
[Ordinal(0)]
public int? D { get; set; }
}
IDataReader
返回的对象ObjectReader.Create()
将根据定义的属性具有列顺序。-1
序号)。您可以立即使用 my for 或等到 PR 与原始存储库合并。
看起来 Evk 是正确的,它不能通过标准 API 来完成。为了完整起见,我将把这个作为答案。