2013-03-23 88 views
0

我想将Entity Framework 5.0部署到Shared Hosting。CodeFirst无法在共享主机上创建数据库

现在我有数据库的问题。我无法创建数据库。

<add name="ResContext" 
connectionString="Data Source=XXXX5.db.10232343.hostedresource.com; 
Initial Catalog=XXXX5; User ID=XXXX5; 
Password=XXXXXXXXX!;Integrated Security=false" 
providerName="System.Data.SqlClient"></add> 

首先 的providerName = “System.Data.SqlClient的”

我有问题

无法删除数据库 'XXXX5',因为它不存在,或者你没有允许。

但是,当我改变provideName到

的providerName = “System.Data.EntityClient”

关键字不支持: '数据源'。

+0

何时/您在哪里看到它?它在调试器中吗? – Pawel 2013-03-23 15:47:30

+0

@Pawel是的,它在调试器中。 我在localMachine上运行它来测试它是否工作 – riseres 2013-03-23 15:51:41

回答

0

通常,GoDaddy不授予您以编程方式创建或删除数据库的权限。它们只允许您通过用户界面创建这些数据库。这是因为他们不希望人们在整个地方创建数据库,他们希望确保只有您有权访问共享用户环境中的数据库。

因此,您不能使用EF使用的默认生成方法。相反,您可以使用数据库初始值设定程序:

Database.SetInitializer<YourContextType>(null); 
0

您可能打开了打开的异常。应该处理这个例外,你应该能够按F5继续。你可能会看到几个(5左右)这样的例外。这就是EF如何探测你想要使用的数据库是否存在,是否是最新的等等。你也可以改变设置 - 进入“Debug - > Exceptions ...”并取消勾选“公共语言运行时例外“行中的”抛出“列。

+0

还启用“[只是我的代码](http://blogs.msdn.com/b/zainnab/archive/2010/10/25/understanding-just-my-code .aspx)“在调试器设置中应该隐藏这些在其他库中引发的异常(并在获取代码之前捕获)。 – 2013-03-24 08:33:16