【问题标题】:In Visual Studio 2012, when you add an ADO.NET Entity Data Model (*.edmx)?在 Visual Studio 2012 中,当您添加 ADO.NET 实体数据模型 (*.edmx) 时?
【发布时间】:2013-03-03 00:51:36
【问题描述】:

在 Visual Studio 2012 中,当您添加 ADO.NET 实体数据模型 (*.edmx) 时,它包括上下文和模型类的 T4 模板作为 EDMX 文件的子项。例如,如果添加 MyModel.edmx,它将有 4 个子项,如下所示:

  1. MyModel.Context.tt
  2. MyModel.Designer.cs(在 C# 项目中)
  3. MyModel.edmx.diagram
  4. MyModel.tt(模型类)

问题:当我更改数据库时,我可以自动更新 MyModel.Context。如果我更改 MyModel.tt 中的任何模型类(添加/删除/更新任何模型或其属性),数据库是否会自动更改?

【问题讨论】:

    标签: c# asp.net-mvc entity-framework dbcontext


    【解决方案1】:

    不,它没有。 edmx 文件可用于生成新的数据库模式, 只需右键单击 demx 设计器 -> 选择从模型生成数据库。

    要更新现有模型,请参阅:

    Entity Framework 4 - Update database schema from model. Without wiping the table data

    【讨论】:

      【解决方案2】:

      仅当您使用 Code First 方法时,数据库才会自动更改,但您不是,因为您使用的是 EDMX。使用 EDMX 后,您将使用模型优先或数据库优先。

      如果您希望数据库自动更改,则必须切换到 Code First。

      【讨论】:

        猜你喜欢
        • 2012-10-07
        • 2018-01-11
        • 2011-08-07
        • 1970-01-01
        • 1970-01-01
        • 2014-01-31
        • 2014-05-27
        • 1970-01-01
        • 2015-12-02
        相关资源
        最近更新 更多