Из моего комментария: «SP доступны в широком контексте». Это должно быть «для всей базы данных», так как вы можете запрашивать данные, которые не связаны с контекстом.

ожет быть простой ответ, но я не вижу, как выполнить хранимую процедуру с EF CTP5.

В Entity Framework 4.0 мы сделали это:

ExecuteFunction("ContainerName.StoredProcName", new ObjectParameter("Id", id)).

Какой метод наObjectContext.

НоDbContext не имеет такого метода.

Как мы называем хранимый процесс? Разве это не поддерживается в EF CTP5?

РЕДАКТИРОВАТЬ:

я нашелэта тема, в котором говорится, что вам нужно сделать это:

  var people = context.People.SqlQuery("EXECUTE [dbo].[GetAllPeople]");

Это вызывает некоторые опасения:

1) Вы сейчас вызываете сохраненную процедуру наустановлен, неконтекст, Хранимые процедуры должны быть доступны для всего контекста, не привязаны к конкретному набору сущностей. Точно так же, как они находятся в разделе «База данных» в SQL Server, а не в разделе «Таблица».

2) Как насчетсложные типы? Ранее у меня был сложный тип, возвращаемый из хранимой процедуры. Но теперь, похоже, вам нужно сопоставить непосредственно с сущностью? Это не имеет никакого смысла. У меня есть много хранимых процедур, которые возвращают тип, не представленный непосредственно ObjectSet / DBSet, который я не могу понять, как я могу остановиться.

Надеюсь, что кто-то может прояснить это для меня, потому что, насколько я понимаю, я не смогу перейти на CTP5.

Ответы на вопрос(1)

Ваш ответ на вопрос