LINQ to SQL анализирует прямые операторы SELECT
, чтобы увидеть, какой тип модели он должен проецировать в результате выполнения указанной хранимой процедуры SQL.Поскольку вы используете динамический оператор, использующий EXEC
, он не может определить, какой тип модели генерировать.
Простой ответ - либо не использовать хранимую процедуру, а вместо этого использовать LINQ to SQL для генерацииSQL, или не используйте динамический встроенный оператор в вашей хранимой процедуре.
Тот факт, что вы генерируете оператор SQL, должен означать, что у вас есть строгий вариант его использования, поскольку он может достичь того, чего вы хотите безхранимая процедура.Всегда отдавайте предпочтение простоте ... спросите себя, нужно ли вам использовать динамически построенный оператор в хранимой процедуре?