Вот код:
Mapper.CreateMap<IDataReader, IEnumerable<Order>>();
orders = Mapper.Map<IDataReader, IEnumerable<Order>>(reader)
В результате все открытые свойства DTO равны нулю.В считывателе есть столбец с именем и соответствием типа данных.Псевдоним имени не является точным, но в AutoMapper есть код для его обработки.
var propertyInfo = destinationType.GetProperty(dataRecord.GetName(i), BindingFlags.Public | BindingFlags.IgnoreCase | BindingFlags.Instance);
К сожалению, кажется, что AutoMapper никогда не попадает в эту строку кода.Он останавливается раньше, находя кэшированную копию компоновщика из кэша компоновщика.
Build builder;
BuilderKey builderKey = new BuilderKey(destinationType, dataRecord);
if (_builderCache.TryGetValue(builderKey, out builder))
{
return builder;
}
Как он попал в кэш компоновщика?Тайны ... Помогите!