我有一个与 Dapper-dot-net "no column name" 很相似的问题,但那里的答案并不能满足我的需求。
我正在编写一个web界面,并使用dapper从客户的ERP系统中获取存储过程的数据。该SP返回4列没有列名的数据。也就是说,这些SP是被锁定的,我无法更改它们。 我尝试通过在查询中使用临时表来解决这个问题,就像Sam建议的那样。
我该如何做这个?能否有人指导我修改Dapper源码,取消要求列名并允许我通过列号进行映射?
我正在编写一个web界面,并使用dapper从客户的ERP系统中获取存储过程的数据。该SP返回4列没有列名的数据。也就是说,这些SP是被锁定的,我无法更改它们。 我尝试通过在查询中使用临时表来解决这个问题,就像Sam建议的那样。
var grid = QueryMultiple(@"set nocount on
declare @t table(Id int, Name nvarchar(max), AnotherId int)
insert @t
exec proc
set nocount off
select Id, Name from @t
select Id, AnotherId from @t
");
然而,我现在发现原始存储过程也包含一个用于记录的插入语句,因此SQL不允许我将我的存储过程插入到临时表中。
有提到添加支持:
class Foo { [ColumnNumber(1)] public string Name {get;set;} }
我该如何做这个?能否有人指导我修改Dapper源码,取消要求列名并允许我通过列号进行映射?