當我在瀏覽器中使用URL獲取數據時,我能夠看到相關數據,例如:OData WCF數據服務 - 調用服務時不顯示相關數據(按外鍵)
http://localhost/services.svc/Dinners(1)/RSVPs
,列出5個回函爲DinnerId = 1在我的情況,但是當我從一個不同的項目消耗的OData,我只能檢索晚餐,調試應用表明,回函= 0,而它應該是5.
我正在使用服務,將服務引用添加到我的項目中,並通過一個非常簡單的LINQ查詢返回數據:
public ActionResult Index()
{
var result = (from d in db.Dinners
select d);
return View(result);
}
任何想法爲什麼d.RSVPs = 0時,它應該填充?我使用的是EF(代碼優先 - 緊接着ScottGu的一篇文章,有2個非常簡單的POCO課程用於Dinner和RSVP。晚餐類包含RSVPs的集合:public ICollection<RSVP> RSVPs { get; set; }
,RSVP類指向Dinner,外鍵爲public int DinnerId { get; set; }
還有晚宴類:。public Dinner Dinner { get; set; }
感謝
我在發佈我的問題(懶惰加載?)後想到類似的東西,但無法弄清楚方式。使用'Expand(「RSVPs」)'會導致不同的錯誤:'處理響應流時出錯。服務器失敗,出現以下消息:處理此請求時發生錯誤。「任何想法爲什麼?非常感謝你。 – Saxman 2010-09-09 00:24:48
@Saxman,該字符串需要是屬性名稱。請閱讀文檔,然後嘗試「RSVPs」 – jfar 2010-09-09 00:45:02
嗨jfar,這就是我所做的,我用''RSVPs「',而不是''RSVPS」',也嘗試了幾種不同的組合,但沒有成功。 :(謝謝。 – Saxman 2010-09-09 01:07:21