无法使用实体框架创建数据库

时间:2014-08-07 12:07:38

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

我正在尝试在我的asp.net mvc应用程序中使用实体框架的代码优先方法。下面是我自动生成的连接字符串......

<connectionStrings>
    <add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />
 </connectionStrings>

每当我按F5时,都会发生以下错误:

  

建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供程序:SQL网络接口,错误:52 - 无法找到本地数据库运行时安装。验证是否已正确安装SQL Server Express并且已启用本地数据库运行时功能。)

我做错了什么?

我安装了SQL Server 2008企业版。我正在尝试使用Windows身份验证连接到SQL Server。我也在关注视频教程,因此代码可能没有任何问题

2 个答案:

答案 0 :(得分:2)

如果您拥有SQL Server 企业版版,则很可能无法将其安装为SQLEXPRESS实例(这是SQL Server的默认值 Visual Studio附带的Express 安装。

更有可能的是,您拥有未命名的默认实例 - 因此请尝试使用此连接字符串:

<connectionStrings>
   <add name="ApplicationServices" 
        connectionString="data source=.;Database=YourDatabaseName;Integrated Security=SSPI;
        providerName="System.Data.SqlClient" />
</connectionStrings>

不确定您的应用程序是否真的使用ApplicationServices连接字符串 - 如果没有,请调整您的应用正在使用的连接字符串!此外,您还需要将YourDatabaseName替换为您在应用程序中使用的实际数据库名称。

答案 1 :(得分:0)

如果您尝试连接到计算机上安装的SQL Server实例,则需要使用格式化的connectionString来代替使用它。您当前的connectionString正在尝试创建一个可以使用的数据库文件,而不是在SQL Server实例中构建数据库。

尝试这样的事情;

connectionString="data source=localhost;user id=<user with dbo access>;password=<user password" providerName="System.Data.SqlClient" />