У меня есть хранимая процедура, которая возвращает выбор из таблицы. Таблица выбирается динамически. Процедура выглядит так:Динамический SQL хранимый Proc для Linq to SQL
ALTER Procedure [dbo].[GetRecordsInViewPort]
@DatabaseName VarChar(100),
@TableName VarChar(100),
AS
Declare @SQL VarChar(1000)
SELECT @SQL = 'SELECT * FROM '
SELECT @SQL = @SQL + + @DatabaseName + '.dbo.' + @TableName
EXEC(@SQL)
Он отлично работает в SQL при его выполнении. Как я могу использовать эту процедуру из Linq-to-SQL? Когда я пытаюсь выполнить его, я просто вернусь. Свойство возвращаемого типа в хранимой процедуре в конструкторе Linq-to-SQL устанавливается в (None)
и не может быть изменено.
Можно ли отобразить результат хранимой процедуры на лету, а затем вернуть List<<r>dynamic>
?
В двух словах, я думаю, что я хочу принять результаты хранимой процедуры как динамический список, свойства которого я могу получить во время выполнения через отражение. Есть идеи?
Кроме того, если это проще сделать в Linq-To-Entities, я открыт для чего-либо.
Хранимая процедура выбирает, какой тип результата будет возвращен. Я не буду знать, что набор клиентов возвращается во время компиляции. Это могут быть собаки, это могут быть самолеты, поэтому я не думаю, что это сработает. Я получаю, откуда вы пришли с помощью soapbox, и обычно я никогда не буду использовать динамический Linq или SQL, если я могу ему помочь, но специфика этого случая, похоже, требует этого. Я мог бы заботиться меньше, если он использует ORM или нет, мне просто нужен способ чтения данных в .Net List. –