2010-11-02 3 views
0

Обычный способ настройки клиента - создать модель, прочитав метаданные odata с помощью VS UI или datasvcutil. Есть ли способ сделать это без этого шага.можно делать динамические запросы с помощью system.data.services.client

Почему? Представьте, что вы пытаетесь сделать UI общего назначения odata (это не то, что я делаю, но такая же потребность существует). Я знаю, что я могу делать грубые HTTP/XML и т. Д., Но это похоже на большой тяжелый подъем; ища половину дома.

ответ

0

Клиент полагается на типы CLR, чтобы описать форму объектов, потребляющих. Поэтому, если вам нужен клиент общего назначения (который ничего не знает о форме объектов, которые он собирается потреблять), вам нужно будет динамически генерировать эти типы для каждого запроса (прежде чем выполнять запрос, что может быть сложно). Короче говоря, клиент не создан для поддержки такого сценария. Вы можете взглянуть на OData Explorer, который является приложением Silverlight и реализует клиент общего назначения. (он не использует клиента служб данных WCF из-за вышеуказанных ограничений). Это один из образцов на этой странице: http://www.odata.org/developers/odata-sdk. Вы можете попробовать это здесь: http://www.silverlight.net/content/samples/odataexplorer/