Предоставление таблицы Azure с помощью oData, но работа с объектами «Домен», а не с объектами Azure Entity. - PullRequest
0 голосов
/ 24 февраля 2011

Извините мою терминологию, если она неверна, но я бы предпочел не предоставлять объекты Azure Table Entity непосредственно конечному пользователю, хотя я хочу предоставить IQueryable.

Как конвертировать IQueryable<TableEntity> в IQueryable<Object>

Я основываю свою логику oData, как описано в этом блоге. Делитесь лучшим способом, если он у вас есть.

http://blogs.southworks.net/fboerr/2010/07/29/create-a-wcf-data-service-odata-to-share-an-azure-table/

1 Ответ

1 голос
/ 25 февраля 2011

Службы данных WCF могут предоставлять произвольные объекты с помощью поставщика отражений . Вместо того чтобы создавать свои классы путем наследования от TableServiceEntity, вы можете создавать простые старые классы C # только с теми свойствами, которые вам нравятся. В методы запроса добавьте оператор .Select () для создания классов POCO вместо классов обслуживания.

Вы также можете проверить Как: создать службу данных с помощью поставщика отражений (службы данных WCF) для пошагового руководства.

С другой стороны, ваша TableServiceEntity не обязательно должна точно соответствовать базовым столбцам. Вы можете создавать объекты с меньшим количеством столбцов и возвращать их с помощью оператора Select

...