2012-02-21 80 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