Los procedimientos almacenados correctamente no se pueden componer. Así que no hay forma de llamar a su SPROC y hacer que el EF rellene automáticamente las relaciones en la misma consulta, usando Include() o algo así.
Así que supongamos que tiene productos y categorías
y tiene un procedimiento almacenado para obtener los productos
decir
var products = context.GetProducts(someproductfilter);
los productos resultantes no han cargado sus categorías.
Sin embargo, si usted tiene un segundo procedimiento almacenado que recibe las categorías de dichos productos:
es decir
var categories = context.GetCategoriesForProducts(someproductfilter);
una característica de la FE se llama relación de corrección, que une las entidades relacionadas vez que la segunda entidad entra en el contexto, se asegurará de que después de realizar ambas llamadas, cada producto en productos tendrá una Categoría no nula.
Esto no es ideal, porque está haciendo más de una consulta, pero funcionará.
Una alternativa es usar EFExtensions. El tipo que escribió eso creó la capacidad de escribir sprocs que cargan más datos de una vez.
Esperanza esto ayuda
Saludos Alex
¿Tal vez podría darnos algunos ejemplos de lo que está haciendo con EF que es "tremendamente lento"? No he encontrado que EF sea notablemente más lento en la mayoría de los casos a menos que esté haciendo algo que lo haga ineficiente. –