Как мне использовать хранимые процедуры в EF, чтобы вернуть простой список с полями из 2 сущностей - PullRequest
0 голосов
/ 15 февраля 2012

Я новичок в EF, но мне удалось настроить несколько сущностей со связями и т. Д. Теперь мне нужно запросить базу данных, чтобы вернуть список «дел» для текущего пользователя. Я обычно использовал бы хранимую процедуру для этого, которую я создал, однако хранимая процедура возвращает результаты, которые не являются сущностями в EF, это подмножество полей из 2 разных таблиц. Как мне этого добиться? Любые ссылки на учебники и т. Д. Будет приветствоваться.

Подводя итог, у меня есть 2 сущности, и я хочу выполнить хранимую процедуру, которая возвращает набор столбцов, которые представляют собой набор полей из обеих сущностей.

Ответы [ 2 ]

0 голосов
/ 15 февраля 2012

Если вы хотите придерживаться подхода хранимых процедур, вы можете импортировать хранимую процедуру в модель вашего домена и использовать инструменты проектирования EF, чтобы получить форму набора результатов хранимой процедуры и создать тип CLR, который представляет набор результатов. Затем вы можете создать метод (через конструктор) в своем классе контекста, который вызывает эту хранимую процедуру и возвращает перечисляемый тип CLR.

С другой стороны, если две таблицы связаны, вы можете написать запрос LINQ, который проецирует те же поля.

0 голосов
/ 15 февраля 2012

Просто создайте класс, содержащий свойства с теми же именами (и типами), что и столбцы в наборе результатов вашей хранимой процедуры, и используйте ExecuteStoreQuery, чтобы получить материализованный результат от вашего SP. Здесь - несколько примеров.

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