我今天已经设法将一些东西作为小型沙盒/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。
目前我正在浏览简洁的代码,我唯一可预见的解决方案是添加一些代码来“说服”列比较,但到目前为止还没有太多运气。
我在 StackOverflow 上看到有类似 dapper 扩展的东西,但我希望我可以在不添加扩展的情况下完成这项工作,如果没有的话。我会采取最快的实施方式。