1

我正在使用 EdmGen.exe 自动生成文件:

  • 数据库.cs
  • 视图.cs
  • 概念.csdl
  • 存储.ssdl
  • 映射.msl

如何从所有这些中生成 EDMX 文件,以便将其包含到我的 Visual Studio 项目中?

我正在尝试以不需要使用 Visual Studio IDE 的方式自动更新 EDMX,即完全从命令行进行。

原因

我的开发团队需要开始使用一个巨大的 Oracle 数据库,该数据库是很久以前设计的,并且经历了小的、不频繁的更改。Oracle 的 ODP 实体框架似乎是一个非常适合这项工作的平台,但他们的 Visual Studio 集成工具却是一场灾难,我们正试图像瘟疫一样避免这种情况。我被要求完全从命令行编写自动 EF 模型生成脚本。从 CSDL+SSDL+MSL 文件生成新的 EDMX 是我卡住的地方。

4

1 回答 1

1

您想要的远远超出 EF 的左侧字段。我很确定您将不得不编写一些自定义工具,因为 EDMX 生成并不是我看到 Visual Studio 要求让我认为它是 IDE 本身的一部分的东西。

我在这方面找到了一些资源:

查看我在本地拥有的 EDMX,它基本上只是您已经生成的那些文件的逻辑混搭,因此您应该能够毫不费力地找出并编写一个生成器。当然,这会很乏味。

最重要的是,考虑到代码优先或数据库优先方法的典型 EF 开发策略,我认为没有工具可以为您执行此操作。这里规定的方法是代码优先,但我完全明白你为什么不想重新创建它们。

也就是说,除非您出于某种原因(可视化或其他)绝对需要 EDMX,否则我实际上只是模板化您的模型并执行伪“代码优先”方法,甚至不用担心 EDMX 工具链。

祝你好运。

于 2015-07-30T20:22:20.547 回答