gpt4 book ai didi

c# - 运行 OData v4 客户端代码生成器时出现转换错误

转载 作者:太空狗 更新时间:2023-10-29 21:53:44 24 4
gpt4 key购买 nike

我有一个从 /$metadata 返回以下内容的 OData 服务终点:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<edmx:Edmx Version="1.0" xmlns:edmx="http://schemas.microsoft.com/ado/2007/06/edmx">
<edmx:DataServices xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" m:DataServiceVersion="1.0">
<Schema Namespace="(...)" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="http://schemas.microsoft.com/ado/2008/09/edm">
<!-- ... -->
</Schema>
</edmx:DataServices>
</edmx:Edmx>

当我尝试运行 OData v4 Client Code Generator (v2.3.0)针对此 XML 文件,我收到以下错误:

Warning: Running transformation: The element 'edmx:Edmx' was unexpected for the root element. The root element should be Edmx.

Warning: The 'http://schemas.microsoft.com/ado/2007/08/dataservices/metadata:DataServiceVersion' attribute is not declared.

我也只看到一个空的 .cs输出文件。

我试过删除 edmx:来自 <Edmx> 的命名空间前缀和 <DataServices>元素,使该 namespace 成为默认 namespace ,并调整其余元素的前缀,但这也不起作用:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Edmx Version="1.0" xmlns="http://schemas.microsoft.com/ado/2007/06/edmx" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:edm="http://schemas.microsoft.com/ado/2008/09/edm">
<DataServices m:DataServiceVersion="1.0">
<edm:Schema Namespace="(...)">
<!-- ... -->
</edm:Schema>
</DataServices>
</Edmx>

最佳答案

好的,看起来问题可能出在服务公开的 OData 版本上——即 OData v1.0。定义的 edm 命名空间是 http://schemas.microsoft.com/ado/2006/04/edm。参见 OData Version 4.0 Part 3: Common Schema Definition Language (CSDL), §2.2 :

Elements and attributes that define the entity model exposed by the OData Service are qualified with the Entity Data Model namespace:

Prior versions of CSDL used the following namespaces for EDM:

使用 Visual Studio 2013 中的添加服务引用工具(可选择安装 this update)解决了为此 OData 服务生成客户端代码的问题。

关于c# - 运行 OData v4 客户端代码生成器时出现转换错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30131133/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com