gpt4 book ai didi

c# - 是否可以在构建时使用 Ef4 CodeFirst 生成 db sql 脚本?

转载 作者:太空狗 更新时间:2023-10-29 23:26:26 24 4
gpt4 key购买 nike

在构建时,我想自动创建一个 sql 脚本来生成一个新的数据库。我计划使用这个脚本,这样我就可以创建一个可以与生产数据库进行比较的主数据库,以生成一个迁移脚本。我无法使用我的开发数据库,​​因为我已将其设置为在开发期间使用 SqlCE。

不幸的是,我似乎无法在 CodeFirst API 中找到任何生成 sql 脚本的内容。我相信这是可能的,因为模型优先。我看到 API 调用我的 DbContext 来初始化一个数据库,但没有任何东西可以让我自己实际初始化它的脚本。

我也想在构建时生成这个脚本。发生这种情况的最佳方式是什么?我想创建一个 T4 模板,并使用 Chirpy 让它在构建时运行它,但我想知道是否有更简单的解决方案。

最佳答案

不,目前没有这种可能性。在我看来,可以通过创建自定义初始化程序来实现。初始化程序将创建数据库并使用 SQL Server 管理对象从数据库创建脚本。但它只会创建基于当前数据库服务器的脚本,因此在 SqlCE 的情况下,您将获得 SqlCE 的脚本(使用的 SQL 类型有所不同)。

在您的情况下,正确的方法是安装 SQL Server Express 版本并使用标准功能来初始化您的数据库和该实例。然后您将能够使用从数据库创建脚本或使用 Visual Studio 2010 数据库工具来创建差异。针对您的制作的脚本。

关于c# - 是否可以在构建时使用 Ef4 CodeFirst 生成 db sql 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5414153/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com