Я хотел бы создать общую функцию поставщика данных, которая возвращает IEnumerable из прочитанных данных SQLite.
Создал инициализацию AutoMapper:
cfg.CreateMap<IDataRecord, Layout>()
Затем вызывается CompileMappings(), и в самой команде считыватель возвращает данные, но сопоставитель не может их сопоставить. Пытался определить для каждого поля .ForMember()... ту же ошибку.
public static IEnumerable<T> ExecuteReaderCommand<T>(SQLiteConnection connection, SQLiteCommand command)
{
using (var scope = new TransactionScope())
{
var result = Enumerable.Empty<T>();
try
{
connection.Open();
command.Connection = connection;
var reader = command.ExecuteReader();
result = Mapper.Map<IDataReader, IEnumerable<T>>(reader);
}
catch (Exception ex)
{
_logger.Error(ex, "Can't execute {command}, with {connection}", command, connection);
return result;
}
finally
{
connection.Close();
}
scope.Complete();
return result;
}
}
Получение исключения Unmapped... с внутренним исключением Object -> Layout.
Не уверен, что я упускаю, но поскольку данные есть, читатель получает их, но картограф не отображает их.