【问题标题】:How do you create a database from an EDM?如何从 EDM 创建数据库?
【发布时间】:2010-09-08 19:49:25
【问题描述】:

如何从实体数据模型创建数据库。

所以我在 VisualStudio 2008 中使用 EDM Designer 创建了一个数据库,现在我想生成 SQL Server Schema 以在 SQL Server 中创建存储。

【问题讨论】:

    标签: sql entity-framework ado.net


    【解决方案1】:

    据我了解,您不应该只是将 EDM 用作“漂亮”的数据库设计器,实际上 EDM 并不依赖于特定的存储层。它试图为开发人员抽象出这部分。有设计模式(CSDL)和存储模式(SSDL)。总之,不是要教训你。 ;)

    EDM Generator,您可以使用它来创建模型和类等。对于 DDL 类型的导出,我从未这样做过,但我所做的是将我的 EDM 映射到现有数据库,这更容易让我开始。

    在 MSDN 上有一个很棒的教程,其中详细说明了如何使用现有数据库的分步说明,还涉及如何从头开始的方法。

    http://msdn.microsoft.com/en-us/magazine/cc163286.aspx

    【讨论】:

      【解决方案2】:

      “从模型生成数据库架构”功能计划在实体框架的未来版本中使用。 V1 不支持基于 EF 模型的模式生成。

      【讨论】:

        【解决方案3】:

        我相信其他答案暗示了这一点,但只是为了明确 - 使用 SSMS(或者如果你是一个勇敢的唯一而不使用 SQL Server 提供者,则使用任何等价物)来设计 DB 布局,然后将其吸收到 EDM 中 - 并且然后根据需要对模型应用应用程序更改。

        我花了大约一个小时尝试先按照自己的方式做(其他一些 Java ORM 工具的遗留习惯) - 我最终放弃了,现在按照“正确的方式”做 (tm)

        最终,从模型功能中生成数据库架构会很好(正如 JRoppert 所指出的那样) - 然后您可以自动获取各种数据库风格的 DDL。

        【讨论】:

          【解决方案4】:

          从模型生成数据库是实体框架 vNext 计划的一项功能。 查看Entity Framework Design 中的blog post,它解释了从模型生成数据库的计划功能。

          您现在必须做的是 1) 手动生成数据库,或 2) 解析 CSDL 文件并编写自己的生成器。我认为选项 1) 可能是更好的选择。

          【讨论】:

            【解决方案5】:
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2019-12-23
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-04-05
            • 2010-10-16
            相关资源
            最近更新 更多