Динамическое создание запроса в documentDb

Я искал все утро, но не нашел удовлетворительного ответа

Я пытаюсь написать общий метод (службу), который принимает объект в качестве входных данных (может быть JObject, Document или динамический) и запрашивает у коллекции свойства объекта.

Пример - если вы отправите {"name": "abc"}, я буду искать name = "abc" в любом из документов. если вы отправите {"имя": "abc", "отдел": "xyz"}, поиск будет выполняться по обоим полям.

Вопрос - что должно быть лучшим входом для метода? Параметры - 1. public bool Exists (Document doc) // предположим, что у меня уже есть Collection.Selfink the class. Кажется, я не могу перебирать свойства объекта документа.

  1. public bool Exists (JObject obj) Мне придется выполнить итерацию по объекту и самому подготовить запрос.

Есть ли более простой способ просто увидеть, соответствует ли документ какому-либо из документов в коллекции. Мне просто интересно сопоставить те поля, которые присутствуют в документе.

Заранее спасибо!


person Abhishek    schedule 30.07.2015    source источник


Ответы (1)


Это не поддерживается из коробки.

Я бы представил небольшой собственный код, который повторял бы переданный объект и добавлял каждое свойство к предложению where в SQL или Linq, вероятно, решил бы проблему.

Однако он может начать запутываться с вложенными объектами и массивами.

Если это то, что вы хотели бы видеть в нативной поддержке, проголосуйте за него http://feedback.azure.com.

person Ryan CrawCour    schedule 30.07.2015