我有一个与Dapper-dot-net "no column name"非常相似的问题,但那里的答案并没有让我到达我需要的地方。
我正在编写一个 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
");
但是,我现在发现原始 SP 还包含一个用于记录的插入,因此 SQL 不允许我将我的 sp 插入临时表中。
提到添加对以下内容的支持:
class Foo { [ColumnNumber(1)] public string Name {get;set;} }
我怎样才能做到这一点?有人可以指出我正确的方向来修改 Dapper 源以不需要列名并允许我按列号映射吗?