2012-02-21 81 views
2

我很新的實體框架,這就是我的聲明!我有一個SQL 2008數據庫與2個表,tblModel和tblHairColor。 tblModel包含一個名爲hairID的列,它是tblHairColor表的id主鍵的外鍵。實體框架,ado.net數據服務,OData的

我創建的ado.net實體數據模型,現在,以下http://msdn.microsoft.com/en-us/library/dd728283.aspx,試圖訪問創建我的數據資源。

http://localhost:51157/WcfDataService.svc/tblModels(1)/modelname/ $值的URL的工作原理是從tblModels表返回(記錄1)模型的名爲大。但是,當我嘗試通過http://localhost:51157/WcfDataService.svc/tblModels(1)/modelname/tblHairColor訪問頭髮顏色時,它不起作用,(http 404未找到)。

我的實體模型,從我的SQL數據庫生成,創造了一個tblHairColor導航tblModels財產和tblModel一個tblHairColor導航屬性。它還自動生成了tblHairColor到tblModel(1到*)的關聯。我預計1比1

我的問題是需要添加/更改爲允許此查詢,http://localhost:51157/WcfDataService.svc/tblModels(1)/modelname/tblHairColor,返回模型頭髮的顏色是什麼?

提前感謝您的時間。 鮑勃

回答

1

MODELNAME不應該在URL中使用,只是導航屬性:

http://localhost:51157/WcfDataService.svc/tblModels(1)/tblHairColor 

如果你想模型和染髮,你應該使用$擴展:

http://localhost:51157/WcfDataService.svc/tblModels(1)?$expand=tblHairColor 
+0

謝謝。我試圖只是得到Model#1的HairColor,這給我兩個記錄集。這有很大幫助! – Bob 2012-02-22 00:30:58

+0

檢查這些OData URI約定:http://www.odata.org/developers/protocols/uri-conventions – 2012-02-22 00:34:21