我有一个使用MVC和Code First进行持久化的应用程序。
我的开发中一切正常,但是当我上传到服务器时,它无法正常工作。
在任何地方我尝试创建数据库,但它让我返回以下错误:数据库'master'中的CREATE DATABASE权限被拒绝。
我唯一能做的就是覆盖OnModelCreating方法来映射我的应用。
有人有这个错误吗?
由于
答案 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以及您修改它以创建数据库方案的任何其他位置。
希望这可以帮助你,并祝你好运。