WCF数据服务(OData)可以使用最大字符串长度元数据吗?

时间:2011-11-28 19:31:30

标签: wcf-data-services odata

我正在使用WCF 数据服务(OData)来公开我的SQL Server数据库中的varchar(10)数据。 (我正在使用实体框架来公开它。)

有没有办法向OData端点询问字符串可以有多长(即从varchar(10)得到10)?

1 个答案:

答案 0 :(得分:1)

如果服务是基于EF的服务,并且EF模型的CSDL包含属性上的最大字符串长度属性,则服务的$ metadata也将包含该属性。然后客户端可以解析$元数据并要求这样做。 请注意,WCF DS客户端库没有用于执行此操作的API。您可以使用ODataLib和EdmLib来读取$ metadata(或简单的XML)。它们位于最新CTP中的Microsoft.Data.OData.dll和Microsoft.Data.Edm.dll中(http://blogs.msdn.com/b/astoriateam/archive/2011/10/13/announcing-wcf-data -Services-OCT-2011-CTP换网-4-和Silverlight的4.aspx)。 但请注意,如果服务基于EF以外的其他内容,那么目前无法以这种方式自定义WCF DS中的$ metadata端点。您必须以其他方式自己公开$元数据。