1

我有一個帶有兩個表的數據庫。他們有一個外鍵關係(所以他們有經典的主 - 細節結構)。從WebAPI獲取Master-Detail表

我想在瀏覽器中使用從javascript(一個Angular應用程序是特定的)調用ASP.NET MVC WebAPI來獲取這兩個表的全部數據。在JavaScript中,我希望將數據重建爲具有適當關係的對象(以便詳細對象具有對正確主對象的引用)。

什麼是最簡潔的方式來實現它?

一種選擇是調用主控制器的REST API,遍歷結果並進行REST調用以獲取每個主控器的詳細記錄。 這感覺有點蠻力,並且很明顯會導致很多REST調用。

我可以構造一個WebAPI調用,它很容易在JavaScript中反序列化爲正確的對象結構嗎?這是適當的RESTful?

回答

1

我會避免對每個細節進行REST調用的瑣事實現。

如果您正在使用實體框架獲得一個塊中的所有數據是如此簡單(的包括,如果你對你的實體框架數據庫上下文禁用延遲加載需要):

public IEnumerable<Master> Get() 
{ 
    return _context.Masters.Include(m ->m.Details).ToList(); 
} 

從angularjs您可以使用$資源的查詢方法輕鬆獲取。