Мне удалось что-то запустить и запустить сегодня в виде небольшого проекта sandbox/POC, но, похоже, я столкнулся с одной проблемой...
Вопрос:
Есть ли способ заставить dapper сопоставлять имена столбцов SQL с пробелами в них.
У меня есть что-то в этом роде, так как мой результирующий набор.
Например:
SELECT 001 AS [Col 1],
901 AS [Col 2],
00454345345345435349 AS [Col 3],
03453453453454353458 AS [Col 4]
FROM [Some Schema].[Some Table]
И мой класс будет выглядеть следующим образом
public class ClassA
{
public string Col1 { get; set; }
public string Col2 { get; set; }
///... etc
}
Моя реализация выглядит в данный момент
public Tuple<IList<TClass>, IList<TClass2>> QueryMultiple<TClass, TClass2>(object parameters)
{
List<TClass> output1;
List<TClass2> output2;
using (var data = this.Connection.QueryMultiple(this.GlobalParameter.RpcProcedureName, parameters, CommandType.StoredProcedure))
{
output1 = data.Read<TClass>().ToList();
output2 = data.Read<TClass2>().ToList();
}
var result = new Tuple<IList<TClass>, IList<TClass2>>(output1, output2);
return result;
}
Примечание. Значение SQL не может быть изменено каким-либо образом.
В настоящее время я просматриваю код dapper, и моим единственным предсказуемым решением является добавление некоторого кода, чтобы "убедить" сравнение столбцов, но пока не так много удачи.
Я видел в StackOverflow, что есть такие вещи, как расширения dapper, но я надеюсь, что смогу это сделать без добавления расширения, если нет. Я возьму все, что быстрее реализовать.