Entity Framework CTP5 - ¿Cómo llamar al procedimiento almacenado?

Esta puede ser una respuesta simple, pero no puedo ver cómo ejecutar un procedimiento almacenado con EF CTP5.

En Entity Framework 4.0, hicimos esto:

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

¿Cuál es un método en elObjectContext.

PeroDbContext No tiene tal método.

¿Cómo llamamos a un proceso almacenado? ¿No es compatible con EF CTP5?

EDITAR:

encontréeste hilo, que indica que debes hacer esto:

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

Esto plantea algunas preocupaciones:

1) Ahora está llamando a un procedimiento almacenado en elconjunto, no lacontexto. Los procedimientos almacenados deben estar disponibles en todo el contexto, no vinculados a un conjunto de entidades en particular. Justo como están debajo de la "Base de datos" en SQL Server, y no debajo de la "Tabla".

2) ¿Qué pasa contipos complejos? Anteriormente tenía un tipo complejo devuelto de un procedimiento almacenado. Pero ahora, ¿parece que tienes que mapear directamente a una entidad? Eso no tiene ningún sentido. Tengo muchos procs almacenados que devuelven un tipo no representado directamente por un ObjectSet / DBSet, que no puedo ver cómo puedo detenerme.

Espero que alguien pueda aclarar esto por mí, porque por lo que entiendo hasta ahora, no podré actualizarme a CTP5.

Respuestas a la pregunta(1)

Su respuesta a la pregunta