【问题标题】:how to make sql script file from entity framework dbcontext如何从实体框架dbcontext制作sql脚本文件
【发布时间】:2018-06-01 02:45:19
【问题描述】:

可以从实体框架的 dbcontext 生成 sql 脚本,以创建整个数据库或至少通过 ssms 使用先前创建的数据库创建表。

所以当我的 dbcontext 和模型完成后,我可以让 sql 脚本女巫能够重新创建整个 db(它可以是空的,没关系)。

现在,我知道迁移可以做到这一点,但问题是我有很多迁移,所以 sql 的代码分散在各处。

那么,当我从代码优先的方法完成对 db 的建模后,是否可以制作该 sql 脚本?

【问题讨论】:

    标签: sql asp.net database entity-framework ssms


    【解决方案1】:

    为此,请在包管理器控制台中运行 Update-Database 命令,但这次指定 –Script 标志,以便将更改写入脚本而不是应用。 [source]

    update-database -script
    

    【讨论】:

    • 这不适用于已完成的数据库。我已经准备好更新的数据库,所以我可以把它带到最终版本。运行该命令后,脚本为空
    • 对不起,我不明白
    • 更改我的模型后,我进行了迁移并将数据库更新到最终版本。现在,当我在包管理控制台中运行您的命令时,会创建 sql 脚本但它是空的。我相信原因是我已经用最新的迁移准备好了更新的数据库,我很确定这个命令只适用于单个迁移,现在适用于整个数据库。
    • 如果你已经有一个完整的数据库,你应该能够在你的 app/web.config 中创建一个新的连接字符串,指向一个不存在的数据库并包含标志 -connectionstringname " nameOfConnectionStringInConfig"
    【解决方案2】:

    我会让 EF 创建数据库,而不是使用 SSMS,即使有数据,您也可以生成脚本。 在 SSMS > 任务 > 生成脚本中右键单击数据库,然后在对话框窗口中他们希望您选择用于保存 SQL 脚本的文件,选择 高级。您可以在此处选择要生成的内容。

    【讨论】:

    • 见鬼,这是完美的:D 我知道可能 mmsm 可以做到这一点,但不知道怎么做。谢谢男人
    猜你喜欢
    • 1970-01-01
    • 2017-05-14
    • 1970-01-01
    • 1970-01-01
    • 2016-11-09
    • 1970-01-01
    • 2013-12-26
    • 2022-12-12
    • 1970-01-01
    相关资源
    最近更新 更多