生成数据服务客户端库(WCF 数据服务)
实现开放式数据协议 (OData) 的数据服务可返回描述 OData 源公开的数据模型的服务元数据文档。 有关更多信息,请参见 OData(可能为英文网页)。 可以使用 Visual Studio 中的**“添加服务引用”**对话框添加对基于 OData 的服务的引用。 使用此工具在客户端项目中添加对 OData 源返回的元数据的引用时,将执行以下操作:
从数据服务请求服务元数据文档并截获返回的元数据。
注意: 返回的元数据作为 .edmx 文件存储在客户端项目中。此 .edmx 文件无法通过实体数据模型设计器打开,因为此文件的格式与实体框架所使用的 .edmx 文件的格式不相同。可以通过使用 XML 编辑器或任何文本编辑器查看此元数据文件。有关更多信息,请参见 [MC-EDMX]:用于数据服务打包格式的实体数据模型(可能为英文网页)规范。 作为从 DataServiceContext 继承的实体容器类生成数据服务的表示形式。 此生成的实体容器类与实体数据模型工具生成的实体容器类似。 有关更多信息,请参见Object Services Overview (Entity Framework)。
为在服务元数据中发现的数据模型类型生成数据类。
在项目中添加对 System.Data.Services.Client 程序集的引用。
有关更多信息,请参见如何:添加数据服务引用(WCF 数据服务)。
还可以在命令提示符处使用 DataSvcUtil.exe 工具来生成客户端数据服务类。 有关更多信息,请参见如何:手动生成客户端数据服务类(WCF 数据服务)。
客户端数据类型映射
当使用 Visual Studio 中的**“添加服务引用”**对话框或 DataSvcUtil.exe 工具生成基于 OData 源客户端数据类时,.NET Framework 数据类型会映射到数据模型中的基元类型,如下所示:
数据模型类型 | .NET Framework 数据类型 |
---|---|
Edm.Binary |
Byte [] |
Edm.Boolean |
|
Edm.Byte |
Byte |
Edm.DateTime |
|
Edm.Decimal |
|
Edm.Double |
|
Edm.Guid |
|
Edm.Int16 |
|
Edm.Int32 |
|
Edm.Int64 |
|
Edm.SByte |
|
Edm.Single |
|
Edm.String |
有关更多信息,请参见 OData(可能为英文网页)。