由于本文档,我能够在服务器端使用WebApiOdata和EntityFramework以及客户端的Breeze创建OData(v3)服务.
现在我想对OData规范的第4版做同样的事情.但有一个问题.EdmBuilder
Breeze提供的类依赖于与版本3相关的'Microsoft.Data.Edm'.
在EdmBuilder
这两行中阻止了项目的建立:
using Microsoft.Data.Edm.Csdl; using Microsoft.Data.Edm.Validation;
这是正常的,因为我的项目引用了'Microsoft.OData.Edm'(对于v4)而不是'Microsoft.Data.Edm'(对于v3).
所以我用这个替换了2个using
语句:
using Microsoft.OData.Edm; using Microsoft.OData.Edm.Csdl; using Microsoft.OData.Edm.Validation;
现在项目可以构建,但在运行时它会抛出此异常
"解析EDMX文档时遇到以下错误:UnexpectedXmlElement:根元素的元素'Edmx'是意外的.根元素应该是Edmx.:( 1,40)"
从EdmBuilder
此时类:
using (var reader = XmlReader.Create(stream)) { return EdmxReader.Parse(reader); }
有什么方法可以解决这个问题吗?就像EdmBuilder
我可以在某处下载的新课程一样?:)
谢谢.
PS:我使用代码首次迁移和此代码在'WebApiConfig'中配置OData路由:
config.MapODataServiceRoute( routeName: "ODataRoute", routePrefix: "OData", model: EdmBuilder.GetEdm(), batchHandler: new DefaultODataBatchHandler(GlobalConfiguration.DefaultServer));
Jay Traband.. 7
我们目前正在开发一个适用于OData v 4.0的微风版本.我将在发布时发布回来,这应该是在不久的将来.
我们目前正在开发一个适用于OData v 4.0的微风版本.我将在发布时发布回来,这应该是在不久的将来.