daf*_*key 9 asp.net entity-framework odata asp.net-web-api breeze
由于本文档,我能够在服务器端使用WebApiOdata和EntityFramework以及客户端的Breeze创建OData(v3)服务.
现在我想对OData规范的第4版做同样的事情.但有一个问题.EdmBuilderBreeze提供的类依赖于与版本3相关的'Microsoft.Data.Edm'.
在EdmBuilder这两行中阻止了项目的建立:
using Microsoft.Data.Edm.Csdl;
using Microsoft.Data.Edm.Validation;
Run Code Online (Sandbox Code Playgroud)
这是正常的,因为我的项目引用了'Microsoft.OData.Edm'(对于v4)而不是'Microsoft.Data.Edm'(对于v3).
所以我用这个替换了2个using语句:
using Microsoft.OData.Edm;
using Microsoft.OData.Edm.Csdl;
using Microsoft.OData.Edm.Validation;
Run Code Online (Sandbox Code Playgroud)
现在项目可以构建,但在运行时它会抛出此异常
"解析EDMX文档时遇到以下错误:UnexpectedXmlElement:根元素的元素'Edmx'是意外的.根元素应该是Edmx.:( 1,40)"
从EdmBuilder此时类:
using (var reader = XmlReader.Create(stream))
{
return EdmxReader.Parse(reader);
}
Run Code Online (Sandbox Code Playgroud)
有什么方法可以解决这个问题吗?就像EdmBuilder我可以在某处下载的新课程一样?:)
谢谢.
PS:我使用代码首次迁移和此代码在'WebApiConfig'中配置OData路由:
config.MapODataServiceRoute(
routeName: "ODataRoute",
routePrefix: "OData",
model: EdmBuilder.GetEdm<MyDbContext>(),
batchHandler: new DefaultODataBatchHandler(GlobalConfiguration.DefaultServer));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1421 次 |
| 最近记录: |