Я хотел бы знать, как загрузить несколько уровней сущностей; более конкретно, как загрузить несколько уровней потомков одной сущности. Вот пример, который я создал. Предположим, что в веб-интерфейсе после создания нового продукта я бы хотел отобразить тип его категории. Таким образом, у нас есть продукт определенной категории, и у этой категории есть тип категории с именем:
[HttpPost]
public ActionResult DoSomething(Product product)
{
if (ModelState.IsValid)
{
productRepository.InsertOrUpdate(product);
productRepository.Save();
...
context.Entry(product).Reference(p => p.Category).Load();
string someString1 = product.Category.SomeProperty;
...
string someString2 = product.Category.CategoryType.Name;
...
Кто-то показал мне, как загружать потомков после сохранения объекта в другом сообщении (см. SomeString1 в приведенном выше примере), но я не могу понять, как загрузить внуков (someString2).
В сети есть примеров , показывающих, как загрузить коллекцию сущностей и все связанные объекты, но не показано, как загрузить все потомки одной сущности.
Я использую ASP.Net MVC 3 с EF 4.1. И все это довольно ново для меня, поэтому, пожалуйста, потерпите меня.