我想知道如何加載多個級別的實體;更具體地說,如何加載單個實體的多個級別的後代。這是我創建的一個例子。假設在一個Web界面上,創建新產品後,我想顯示其類別類型。因此,我們有某一類的產品,而這一類有一個類別類型同一個名字:asp.net mvc 3 - 你如何加載實體的孩子和大孩子?
[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在上面的例子中) ,但我無法弄清楚如何加載grand-children(someString2)。
有examples on the net顯示如何加載實體和所有相關對象的集合,但省略顯示如何加載單個實體的所有後代。
我正在使用ASP.Net MVC 3與EF 4.1。而這一切對我來說都是新鮮事,所以請耐心等待。
我相信我曾嘗試過,但發出第二個context.Entry時收到錯誤消息。有關product.Category的內容不在上下文中。我會再試一次併發布確切的錯誤消息。 –
是的,這將有助於確定正確的解決方案。 – getmk
我又試了一次,現在它正在工作。自那時起,我的代碼發生了很大變化,所以我不知道爲什麼它不能正常工作,現在是這樣。無論如何非常感謝! –