2012-01-10 39 views
0

我有一个应用程序使用MVC和Code First来实现持久性。EF代码首先不能部署主机

一切都在我的开发工作正常,但是当我上传到服务器,它不工作。

在任何地方,我尝试创建一个数据库,但它让我返回了以下错误:在数据库中创建“主”否认DATABASE权限。

,我唯一要做的就是重写OnModelCreating方法只是为了自己的应用映射。

任何人有这个错误?

谢谢

+0

的可能重复的[EF 4.1 CF:create database权限数据库 '主' 拒绝](http://stackoverflow.com/questions/5584546/ef-4-1-cf-create-database-permission-denied- in-database-master) – Eranga 2012-01-10 01:46:22

回答

3

对于教程系列,展示了如何发布您的代码第一个数据库,防止代码首先从试图重新建立生产数据库,请参阅 http://www.asp.net/mvc/tutorials/deployment-to-a-hosting-provider 该系列的第三个教程演示如何设置网络。配置文件。第二部分展示了如何使用SQL Server Compact进行部署,第十部分展示了如何部署到完整的SQL Server。

+0

谢谢...使用教程我终于部署了我的应用程序。有必要创建一个Db初始化策略:)。 – Cleyton 2012-01-12 01:20:27

1

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

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

希望这有助于你对你的项目的一些,和好运气。