1

有一个 odata 网络服务,我可以从中获取元数据

http://service-uri.com/$metadata

其中包含其所有模型对象的定义,

有没有我可以使用的工具,将元数据 xml 转换为 C# 中的数据合同类?

4

1 回答 1

4

WCF 数据服务客户端库可以从 $metadata 端点为您生成 C# 类。这些类没有该[DataContract]属性,但您可以将它们与客户端库的其余部分一起使用以与服务交互。

要使用此功能,请下载客户端库的最新“工具”安装程序,目前可在此处获取:http: //www.microsoft.com/en-us/download/details.aspx?id=35840

(注意:如果您想要客户端库的最新稳定位,还可以从 Visual Studio 中的包管理器控制台窗口运行以下命令Install-Package Microsoft.Data.Services.Client:)

然后,在 Visual Studio 中,您可以右键单击您的项目,然后选择“添加服务引用”。在这里您可以输入服务的 $metadata URL,将生成相应的类,以及DataServiceContext可用于与服务交互的类。有关查询服务的更多信息,请参阅此文档:http: //msdn.microsoft.com/en-us/library/dd673933.aspx

或者,如果您想手动生成类,您可以使用DataSvcUtil.exe工具安装程序附带的命令行工具。例如,在我的系统上,该文件位于 C:\Program Files (x86)\Microsoft WCF Data Services\Current\bin\tools\DataSvcUtil.exe

有关如何使用此工具的说明,请查看此页面:http: //msdn.microsoft.com/en-us/library/dd756369.aspx

于 2013-04-04T05:31:34.813 回答