2012-02-21 4 views
2

Я очень новичок в Entity Framework, это мое заявление об отказе от ответственности! У меня есть база данных SQL 2008 с двумя таблицами, tblModel и tblHairColor. tblModel содержит столбец с именем hairID, который является внешним ключом для первичного ключа таблицы tblHairColor.Entity Framework, ado.net Data Services, odata

Я создал модель данных сущности ado.net и теперь, после http://msdn.microsoft.com/en-us/library/dd728283.aspx, пытаясь получить доступ к созданным ресурсам данных.

Мой URL-адрес http://localhost:51157/WcfDataService.svc/tblModels(1)/modelname/ Значение $ отлично работает, возвращая имя модели (записи 1) из таблицы tblModels. Однако, когда я пытаюсь получить доступ к цвету волос через http://localhost:51157/WcfDataService.svc/tblModels(1)/modelname/tblHairColor, он не работает, (http 404 не найден).

Моя модель сущности, созданная из моей базы данных SQL, создала свойство tblModels navigation в tblHairColor и свойство навигации tblHairColor в tblModel. Он также автоматически генерировал ассоциацию 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 

Если вы хотите как модели и Haircolor, вы должны использовать $ вставят:

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

Спасибо. Я пытался просто получить HairColor модели №1, это дает мне оба набора записей. Это очень помогает! – Bob

+0

Проверьте эти соглашения URI UData: http://www.odata.org/developers/protocols/uri-conventions –