部署 Code First Part II - 已修订

Posted

技术标签:

【中文标题】部署 Code First Part II - 已修订【英文标题】:Deploy Code First Part II - Revised 【发布时间】:2011-04-20 12:15:17 【问题描述】:

我现在明白为什么我的生产服务器上不能使用数据库初始化程序。但是,我无法找到逐步部署项目的方法。

我应该将 SQL 创建脚本从我的测试服务器复制到我的生产服务器吗? 我认为我应该从 Global.asax 中删除 setInitializer

还有其他步骤吗?我是不是偏离轨道了?

编辑

我希望我可以添加更多上下文。我最初的问题在这里Deploy Entity Framework Code First。这是我的第一个 MVC 项目,也是我的第一个代码优先项目。

我正处于准备将其部署到我的生产服务器的阶段,但我不确定涉及哪些步骤。

我只是在寻找一些链接或步骤来将我的代码从我的测试服务器移动到我的实时站点。

【问题讨论】:

这个问题缺少 很多 上下文。如果这是您之前问题的一部分,为什么不编辑该问题以包含此内容?如果这是从前一个问题产生的一个新问题,那么您将必须在此处提供上下文以使该问题有意义。任何一个问题(及其答案)都应该是完全完整的。 我在您的其他问题中添加了类似的评论。我发现部署 Code First 模型的一个好方法是使用 Visual Studio 数据库项目。我在这里写了博客:kingdango.com/blog/2011/12/… 【参考方案1】:

您是否尝试过在本地使用初始化程序创建新数据库。然后分离这个新创建的数据库并将其重新附加到生产 sql 服务器?

这将确保您在全新的数据库中运行一切。

或者您可以使用Microsoft Sql Server Management Studio 来生成您的数据库脚本并在远程服务器上运行它们。您可能还想查看SQL Server Business Intelligence Development Studio

还有来自许多供应商的工具可以让您生成数据库脚本。

编辑:

您需要调整连接字符串以使用适当的用户名和密码指向新的数据库位置。否则,没有什么可做的了。只要您的数据库架构与您的 EF 4.1 代码优先模型中的映射匹配,这将起作用。

【讨论】:

谢谢亚历山大!我需要担心连接字符串或其他任何事情吗?如果这就是我需要做的,我就是一个快乐的露营者。

以上是关于部署 Code First Part II - 已修订的主要内容,如果未能解决你的问题,请参考以下文章

Inheritance with EF Code First: Part 1 – Table per Hierarchy (TPH)

Inheritance with EF Code First: Part 2 – Table per Type (TPT)

EF Code-First 学习之旅 从已存在的数据库进行Code First

使用 Code First 迁移以设定数据库种子

持续部署的 EF Core Code First 运行时迁移回滚策略

CMU15-445 Lecture #04: Database Storage (Part II)