EF Code First不支持部署托管

时间:2012-01-10 01:38:17

标签: entity-framework deployment code-first

我有一个使用MVC和Code First进行持久化的应用程序。

我的开发中一切正常,但是当我上传到服务器时,它无法正常工作。

在任何地方我尝试创建数据库,但它让我返回以下错误:数据库'master'中的CREATE DATABASE权限被拒绝。

我唯一能做的就是覆盖OnModelCreating方法来映射我的应用。

有人有这个错误吗?

由于

2 个答案:

答案 0 :(得分:3)

有关如何发布Code First数据库并阻止Code First尝试在生产中重新创建数据库的教程系列,请参阅 http://www.asp.net/mvc/tutorials/deployment-to-a-hosting-provider 本系列的第3个教程介绍了如何设置Web.config文件。第二部分展示了如何使用SQL Server Compact进行部署,第十部分展示了如何部署到完整的SQL Server。

答案 1 :(得分:1)

您需要将数据库发布到您的托管服务提供商。 Visual Studio有一种简单的方法。在服务器资源管理器选项卡中,您可以导航到数据库,右键单击并选择“发布到提供程序”。通过这样做,您不仅可以导出数据库的方案,还可以导出所有数据,存储过程,视图等。

您需要调整代码,以便不再尝试在代码运行时创建数据库。通常,此方法用于开发,如果您要迁移到托管公司,则不再处于开发阶段。更改可能在您的global.asax,解决方案的dbcontext以及您修改它以创建数据库方案的任何其他位置。

希望这可以帮助你,并祝你好运。