【发布时间】:2017-03-08 17:12:46
【问题描述】:
在部署使用 Entity Framework v6.1 Code First 的应用程序时,我使用Update-Database -Script 来获取可以对我的数据库执行的 SQL 语句。如何生成一个类似的脚本,将Seed 我的数据库与初始数据一起使用?我的生产服务器没有安装 Visual Studio,我也不希望它安装在那里。我希望能够向 DBA 提供一个用于创建架构的脚本(我有上面提到的)和一个用于播种初始数据的脚本。
【问题讨论】:
-
定义“用初始数据播种我的数据库”。如果您指的是查找表,那么您应该使用
Insert和Values编写脚本。除非我在这里完全错过了什么。 -
我应该更具体。我在
Configuration.cs文件中的Seed()方法中有代码。我正在寻找一种方法来执行此代码并获取数据库中所做的数据更改并创建一个 SQL 脚本。此代码将角色添加到表中,但使用身份框架来执行此操作,从而生成身份列的 guid。 -
您不能通过迁移编写脚本。您可以通过 SSMS 编写脚本,如 here at bottom 所述,我在代码中使用 Initializer Seed 播种身份。这与迁移种子不同,仅在创建数据库时运行。另一种选择可能是使用migrate.exe。
标签: sql-server deployment ef-code-first entity-framework-6