Используя хранимую процедуру в платформе сущностей, как я могу получить сущность для заполнения ее свойств навигации?
=====================================================================================================================

 Entity Framework очень медленный, поэтому я попытался использовать хранимую процедуру, но столкнулся с этой проблемой. 

 Entity Framework позволяет вам определить хранимую процедуру, которая создает сущность. Однако у моего объекта есть «свойства навигации», которые не заполняются при использовании этого метода. 

 Есть ли работа вокруг? 

 Хорошо хранимые процедуры не сочетаются. Таким образом, невозможно вызвать ваш SPROC и заставить EF автоматически заполнять отношения в одном запросе, используя Include () или что-то в этом роде. 

 Так сказать, у вас есть продукты и категории 

 и у вас есть sproc, чтобы получить продукты: 

 т.е. 

```
var products = context.GetProducts(someproductfilter);

```
  Полученные продукты не будут загружены в свои категории. 

 Однако, если у вас есть вторая хранимая процедура, которая получает Категории для указанных продуктов: 

 т.е. 

```
var categories = context.GetCategoriesForProducts(someproductfilter);

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

 Это не идеально, потому что вы делаете более одного запроса, но он будет работать. 

 Альтернативой является использование [EFExtensions](http://blogs.msdn.com/meek/archive/2008/03/26/ado-entity-framework-stored-procedure-customization.aspx) . Парень, который написал это, создал способность писать sprocs, которые загружают больше данных за один раз. 

 Надеюсь это поможет 

 Ура Алекс