J'utilise WCF Les données Services (OData) pour exposer des données qui sont un varchar(10)
dans ma base de données SQL Server. (J'utilise un cadre d'entité pour l'exposer.)
Existe-t-il un moyen de demander au noeud final OData combien de temps une chaîne peut être (c.-à-d. Obtenir le 10 de varchar(10)
)?
Réponses:
1 pour la réponse № 1Si le service est basé sur EF et que votreCSDL pour le modèle EF contient l'attribut longueur maximale de chaîne sur la propriété, puis les métadonnées $ du service contiendront également cet attribut. Le client peut ensuite analyser les métadonnées $ et les demander. Notez que la bibliothèque du client WCF DS ne dispose pas d’une API pour le faire. Vous pouvez utiliser ODataLib et EdmLib pour lire les $ métadonnées (ou tout simplement le XML). Celles-ci se trouvent dans Microsoft.Data.OData.dll et Microsoft.Data .Edm.dll dans le dernier 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). Notez cependant que si le service est basé sur autre chose que EF, il n’est actuellement pas possible de personnaliser le point de terminaison $ métadonnées dans WCF DS lui-même. Vous devrez alors exposer vous-même les métadonnées $ d’une autre manière.