【问题标题】:Create context initializer from existing database and .sql files从现有数据库和 .sql 文件创建上下文初始化程序
【发布时间】:2021-03-23 16:34:09
【问题描述】:

我有一个现有的数据库,其中包含数据。有(很多)sql文件插入了一组起始数据。

项目正在重构为代码优先的方法,所以我不想将 init sql 文件移动到上下文初始化程序中。

有没有办法通过工具或脚本实现这一点,而无需手动重新键入所有 sql 文件?

【问题讨论】:

    标签: c# sql-server entity-framework-6


    【解决方案1】:

    您可以使用 EF 迁移 来执行这种重构。

    并且在迁移时,您可以执行自定义 SQL 脚本。这是一个例子: https://entityframeworkcore.com/knowledge-base/46638380/execute-custom-sql-script-as-part-of-entity-framework-migration

    【讨论】:

    • 迁移是否也有转移记录,或者只是结构变化?任何表中的列都没有改变,我只需要将种子数据移动到上下文初始化器中。
    • 您可以在不更改任何数据库结构的情况下使用迁移。您可以只使用 migrationBuilder.Sql("Your SQL Code") 来插入/更新/删除数据。
    猜你喜欢
    • 2016-11-06
    • 1970-01-01
    • 1970-01-01
    • 2013-03-10
    • 2016-04-03
    • 2012-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多