Возможны ли метаданные максимальной длины строки из служб данных WCF (OData)? - PullRequest
1 голос
/ 28 ноября 2011

Я использую WCF Данные Службы (OData) для предоставления некоторых данных, которые varchar(10), в моей базе данных SQL Server.(Я использую Entity Framework для его раскрытия.)

Есть ли способ спросить конечную точку OData, какой длины может быть строка (т.е. получить 10 из varchar(10))?

1 Ответ

1 голос
/ 29 ноября 2011

Если служба является службой на основе EF, и ваш CSDL для модели EF содержит атрибут максимальной длины строки в свойстве, то $ метаданные службы также будут содержать этот атрибут. Затем клиент может проанализировать $ метаданные и запросить это. Обратите внимание, что клиентская библиотека WCF DS не имеет API для этого. Вы можете использовать ODataLib и EdmLib для чтения метаданных $ (или просто простого XML). Они находятся в Microsoft.Data.OData.dll и Microsoft.Data.Edm.dll в последней версии CTP (http://blogs.msdn.com/b/astoriateam/archive/2011/10/13/announcing-wcf-data-services-oct-2011-ctp-for-net-4-and-silverlight-4.aspx). Обратите внимание, что если служба основана на чем-то другом, а не на EF, то в настоящее время невозможно настроить конечную точку $ metadata в самом WCF DS таким образом. Вы должны были бы выставить $ метаданные самостоятельно другим способом.

...