0

在 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 中的任何模型类(添加/删除/更新任何模型或其属性),数据库是否会自动更改?

4

2 回答 2

1

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

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

Entity Framework 4 - 从模型更新数据库模式。不擦表数据

于 2013-03-14T15:28:31.667 回答
0

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

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

于 2013-03-14T15:31:00.683 回答