使用架构http://schemas.microsoft.com/ado/2007/06/edmx生成OData $元数据

时间:2014-04-10 13:23:54

标签: visual-studio odata

当我使用ODataLib 5.6.1生成如下的OData元数据文档时:

var eModel = new Microsoft.Data.Edm.Library.EdmModel();
.... 
...WriteMetadataDocument()
....

我得到以下xml:

edmx文件1

<edmx:Edmx xmlns:edmx="http://schemas.microsoft.com/ado/2009/11/edmx" Version="3.0">
...
</edmx:Edmx> 

但是this元数据(http://services.odata.org/V3/OData/OData.svc/ $元数据)具有不同的架构:

edmx文件2

<edmx:Edmx xmlns:edmx="http://schemas.microsoft.com/ado/2007/06/edmx" Version="1.0">
...
</edmx:Edmx> 

如何生成与文档2类似的元数据?我的动机是许多OData客户端(例如Visual Studio的“添加服务引用”)似乎无法识别文档1.

1 个答案:

答案 0 :(得分:3)

过了一会儿,我想出了诀窍(使用SetEdmVersion):

var eModel = new Microsoft.Data.Edm.Library.EdmModel();
...
eModel.SetEdmVersion(new Version(1, 0));