Code First无法在共享主机上创建数据库

时间:2013-03-23 15:34:29

标签: c# asp.net-mvc entity-framework sql-server-2008

我想将Entity Framework 5.0部署到共享主机。

现在我遇到了数据库的问题。我无法创建数据库。

<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”

  

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

2 个答案:

答案 0 :(得分:0)

你可能在打开异常时打破了。应该处理此异常,您应该只需按F5继续。您可能会看到这样的一些(大约5个)异常。这就是EF如何探测您想要使用的数据库是否存在,是否是最新的等等。您也可以只更改设置 - 转到“调试 - &gt;例外...”并取消选中该复选框。 “Common Language Runtime Exceptions”行中的“Thrown”列。

答案 1 :(得分:0)

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

因此您无法使用EF使用的默认生成方法。相反,您将使用数据库初始化程序:

Database.SetInitializer<YourContextType>(null);