gpt4 book ai didi

c# - 错误的 OData EntityContainer 架构命名空间

转载 作者:行者123 更新时间:2023-11-30 21:03:17 24 4
gpt4 key购买 nike

我正在使用 ASP.NET MVC WebApi 作为 OData 服务,我想使用 Jaydata 查询这个 OData 服务。

Jaydata 有一个命令行实用程序 (JaySvcUtil.exe),它可以下载服务定义($metadata)并通过生成必要的样板代码来创建功能齐全的 JayData/JavaScript 客户端环境。

Web API + Odata 正在生成这个 $metadata 页面: https://gist.github.com/3917081#file_metadata.xml

WebApiConfig: https://gist.github.com/3917081#file_web_api_config.cs

当我运行时

JaySvcUtil.exe -m http://odataserver.com:52132/api/$metadata -o Scripts/test.js -n Test.Testing

它将生成这个 javascript 文件 https://gist.github.com/3917081#file_jaydatafile.js

问题出在生成的 javascript 文件中:

Default.context = new Default.Container( { name:'oData', oDataServiceHost: 'http://servername:52132/api' });

由于 $metadata 页面中的以下值,命名空间 = "Default"。

Schema Namespace="Default" xmlns="http://schemas.microsoft.com/ado/2009/11/edm"

如何在 $metadata 页面中更改或删除此命名空间值?

最佳答案

它已在 odata nightly build 中得到支持。 http://aspnetwebstack.codeplex.com/discussions/353867

将包升级到最新的签名版本后。您可以更改模型构建器上的命名空间。

    private static IEdmModel GetEdmModel()
{
ODataModelBuilder modelBuilder = new ODataConventionModelBuilder();
modelBuilder.Namespace = "xxx";
modelBuilder.EntitySet<ProductionOrder>("ProductionOrders");
return modelBuilder.GetEdmModel();
}

关于c# - 错误的 OData EntityContainer 架构命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12971174/

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