TryGetEntity Использование относительно составных ключей - PullRequest
0 голосов
/ 04 февраля 2012

Как вы используете метод tryGetEntity, когда у вас есть составные ключи?

Можно ли это сделать, если да, каков синтаксис?

Ответы [ 2 ]

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

Я пытаюсь кэшировать некоторые объекты локально. НАПРИМЕР. Предположим, что у клиентов есть государства (а у штатов есть несколько ключей). Я хотел бы кэшировать состояния на клиенте (изолированное хранилище), поэтому, когда я опускаю клиента и раскрываю состояние клиентов, у меня теперь есть контекст с двумя сущностями - клиент и состояние.

В пользовательском интерфейсе мне может потребоваться список состояний в поле со списком, из которого пользователь может выбирать, но я не хочу снимать состояния каждый раз, так как состояния никогда не меняются. Поэтому мне нужно пройти и выяснить, находится ли состояние в контексте, прежде чем я добавлю его в список состояний в контексте. Это где я делаю TryGetEntity. Я смог сделать это успешно с сущностями с несколькими первичными ключами (создание URL вручную, используя пары имя-значение), но это в лучшем случае неудобно.

Прежде всего кажется, что вы не можете использовать пары ключ-значение в URL, если есть только один ключ, только если их больше одного. Во-вторых, кажется, что порядок ключей имеет значение?

Я согласен с тем, что составление URL-адреса вручную является проблематичным, поэтому я и задал вопрос.

Очевидно, мой пример - упрощение реальной ситуации, но вы должны увидеть, куда я иду с этим.

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

Метод принимает URL-адрес, указывающий на сущность, а не ключевые свойства. Теперь большинство серверов OData используют соглашение для адресации сущностей, используя ключевые свойства в URL. Это соглашение описано здесь http://www.odata.org/developers/protocols/uri-conventions#AddressingEntries. Но я настоятельно рекомендую не пытаться составить этот URL-адрес самостоятельно (легко ошибиться). Возможно, если вы опубликуете, по какому сценарию вы хотите приступить к работе, возможен лучший ответ.

...