EF 4 хранимая процедура, смешанная с LINQ - PullRequest
0 голосов
/ 17 ноября 2010

У меня есть proc, который возвращает два поля как пользовательский класс, сгенерированный платформой EF (сопоставленный класс для пользовательского результата).Могу ли я присоединиться к результатам процедуры с помощью запроса ADO.NET EF LINQ?Я получаю ошибки, которые указывают на нет, но я не уверен.

Спасибо.

1 Ответ

1 голос
/ 18 ноября 2010

Нет, присоединение набора результатов из хранимой процедуры в Linq к запросу сущностей невозможно. Это также очень сложно в SQL напрямую - я могу представить некоторый подход с OpenQuery в TSQL, но это ужасное решение.

Если вам действительно нужно объединить результат из вашей хранимой процедуры с каким-либо запросом Linq для сущностей, вам следует выполнить хранимую процедуру и запрос отдельно и присоединить их с помощью Linq к объектам. Но учтите, что это решение будет передавать полные наборы результатов из обеих операций на сервер приложений, и соединение будет выполняться .NET в памяти.

Другое решение - переписать хранимую процедуру в UDF (пользовательская функция в TSQL). В этом случае вы не сможете использовать отображение результата функции в сущность, но вы сможете объединить результат функции с другим запросом в EQL.

Лучшим решением в этом случае, вероятно, будет новая хранимая процедура, которая выполняет необходимую операцию соединения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...