15

我有一个现有模型,最初从这个模型生成了数据库,并用一些数据填充了现有表。现在我在模型中添加了一个新表。有没有办法从新模型更新数据库而不会丢失现有表中的所有数据?谢谢。

4

1 回答 1

21

EF 的默认数据库生成工作流程会创建一个完整的脚本,每次您选择从模型生成数据库时都会重新创建您的数据库...因此,如果您在数据库中执行它,您将丢失所有数据。但是,如果您只是创建一个新实体并且没有更改现有实体,那么您仍然可以从您的模型生成数据库,然后使用该脚本并仅运行为您的新实体创建新表的部分。

另一种方法是安装来自 Microsoft 的Entity Designer Database Generation Power Pack,它没有在 EF4.0 版本中发布。安装后,在从模型生成数据库时将数据库生成工作流程更改为生成迁移 TSQL :

替代文字

于 2010-11-19T04:26:05.617 回答