как получить справочные данные с использованием оддаты - PullRequest
0 голосов
/ 28 февраля 2012

У меня есть две таблицы, NetworkAccount и Division. Связаны по DivisionID NetworkAccount содержит полную информацию о пользователе, включая DivisionID Отдел имеет всю связанную информацию, относящуюся к подразделению.

У меня есть имя пользователя для входа в систему, как я могу получить его DivisionName, который хранится в таблице Division. Я хочу сделать это одним запросом к сервису oData.

Я попробовал следующее, и ничто не дает мне ответ, который я хотел.

http://localhost:54471/NetworkInfo.svc/Divisions?$filter=Username eq 'test \ name'

Я получаю следующее

<message xml:lang="en-CA">No property 'Username' exists in type 'NetworkInfoService.Division' at position 0.</message>

http://localhost:54471/NetworkInfo.svc/Divisions?$filter=NetworkAccount/Username eq 'test \ name' Я получаю следующее

<message xml:lang="en-CA">No property 'NetworkAccount' exists in type 'NetworkInfoService.Division' at position 0.</message>

Но если я сделаю наоборот, если я хочу получить пользователей, принадлежащих к определенному подразделению, это не сработает, см. Ниже.

localhost: 54471 / NetworkInfo.svc / NetworkAccounts? $ Filter = Division / Name eq 'SomeName'

Любая помощь будет высоко ценится. Спасибо

Ответы [ 2 ]

0 голосов
/ 29 февраля 2012

Хорошо, я понял синтаксис ... он выглядит так:

http://localhost:12345/NetworkInfo.svc/NetworkAccounts?$filter=Username eq 'test\name'&$expand=Division

Ключевое слово $expand - это хитрость.

0 голосов
/ 29 февраля 2012

Не могли бы вы опубликовать форму модели для типов Division и NetworkAccount? Типичный способ сделать это в OData - это запрос: / NetworkAccounts (TheIDOfTheUserImLookingFor) / Деление

...