我有一個WCF服務操作,我希望它返回一個對象圖而不是簡單的對象列表。有一些神奇的LinQ能做到這一點嗎?WCF服務操作返回對象圖
感謝
多一點的可能需要的信息:
我有幾個實體:
StockableItem
+編號
+代碼
股票
+標識
+位置
+數量
StockableItem-> Stock是1 .. *的關係。
,我這個LINQ失敗:
從SI在svc.StockableItems.Include( 「股票」)
在si.Id svc.Stock加入s等於s.Id
其中s。位置== 1 選擇si
和幾個變化。
我希望服務操作就能返回是這樣的:
StockableItem - ID = 213,代碼= XXX
StockableItem - ID = 214,代碼= XXX2
+庫存 - ID = 214,位置= 1,數量= 3
StockableItem - ID = 215,代碼= XXX3
StockableItem - ID = 216,代碼= XXX4
+庫存 - ID = 216,位置= 1,數量= 6
即要返回所有StockableItems以及給定位置的庫存條目。它非常簡單,只是一個左外連接:
SELECT * FROM StockableItems SI
LEFT OUTER JOIN股票S於si.Id = s.Id和s.Location = @location
而是變成了一個對象圖。
感謝您的關注Mark,我已經更新了原始問題並提供了更多信息。 – 2012-07-17 19:25:59
你試過了上面的'Expand'方法嗎?我不確定我們是否在您尋找的內容中斷開連接,或者您是否錯過了答案的這一部分。 'Expand'是EF中的'Include'的WCF DS等價物。 – 2012-07-17 20:08:02
據我瞭解,Expand方法是DataServiceQuery的成員,所以會轉換成OData查詢嗎?我已經放棄嘗試從客戶端運行此查詢,因爲我無法寫出可以完成這項工作的OData查詢。因此,由於StockableItems-> Stock是1 .. *關係si,所以我的服務操作沒有可參考的擴展名(如果我添加了它,我是不會創建OData查詢?)。 Stock.Location == 1不起作用,我不確定LinQ會怎麼樣? –
2012-07-18 09:38:41