odata class 从 edmx 模型生成

odata class generation from edmx model

我正在尝试在另一个 ODATA 的代码中使用来自现有 ODATA 端点的数据 API。

我不想手动重新创建所有模型,因此我希望使用现有的 edmx 模型在 C# 中创建我需要的 类。

我研究了 Microsoft 提供的 "odata client code generator",这似乎是完美的解决方案,但我只有直接连接到服务端点才能让它工作......如果我下载了 edmx 文件并尝试使用它(即使教程说您可以使用 URL 或文件)。

有没有人真正能够将此 odata 客户端代码生成器成功连接到 edmx 文件?

如果我不能让它工作,有人对如何从这些 edmx 模型生成我需要的 类 有其他建议吗?

我专门尝试使用来自 Microsoft Project Online 的元数据。它给出了这样的端点: https://[domain]/sites/pwa/_api/ProjectData/$元数据

不幸的是,我无法直接连接到它,因为它需要身份验证,而 odata 客户端代码生成器不支持身份验证...

odata 客户端代码生成工具似乎不支持 VS 2017。我现在正在试用 VS 2015。

编辑: 我已经确认客户端代码生成工具适用于 visual studio community 2015。我无法让它工作,因为我在 visual studio professional 2017 下 运行ning 它......微软员工在几个论坛上报告说此工具在 VS 2017 下不受支持。

此外,我发现此服务仍然无法与 OData 客户端代码生成器一起使用,因为它是 OData V3,并且该工具仅适用于 OData V4。您必须使用 DataSvcUtil.exe 从早期版本的 OData 生成代码。我下载了 .edmx 文件和 运行 以下命令来生成 类:

"%windir%\Microsoft.NET\Framework\v3.5\DataSvcUtil.exe" /dataservicecollection /version:2.0 /language:CSharp /out:TestOutput.cs /in:C:\Users\[username]\DevelLocal\test1.edmx