У меня очень похожий вопрос на Dapper-dot-net без имени столбца, но ответ там не приводит меня туда, куда мне нужно.
Я пишу веб-интерфейс и использую dapper для получения данных из хранимых процедур из системы ERP моего клиента. SP возвращает 4 столбца данных без имен столбцов. При этом SP заблокированы, и я не могу их изменить. Я пытался обойти это, используя временную таблицу в своем запросе, как предложил Сэм.
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, чтобы не требовать имен столбцов и позволить мне отображать по номеру столбца?