2

我是 SQL Server Express 的新手(一般不是 SQL Server),但我遇到了问题。我在 ASP.NET MVC 应用程序中使用实体框架(6-beta)。

我使用 SQL Server Management Studio 创建了一个数据库。我可以使用 Management Studio 和我的本地 Windows 用户帐户连接到数据库。我没有更改默认配置,因此 SQL Server 将数据文件存储在:

C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA

我的数据库的 .mdf 文件存储在此文件夹中。

我的问题是:当我从 Visual Studio 启动 MVC 应用程序时,Entity Framework 无法打开与数据库的连接。异常文本非常不精确,但内部异常表明它试图连接到:

C:\Users\<MyUser>\Workspaces\<Solution>\<Project>\App_Data\<Context>.mdf

我的连接字符串是:

"Data Source=.\SQLEXPRESS; Initial Catalog=<Name>; User Instance=False; Integrated Security=True;"

有谁知道为什么实体框架试图连接到这个文件?我能做些什么?

4

2 回答 2

2

您需要 MVC 应用程序项目上的 web.config 条目(以防 DBContext 在另一个引用的项目中)。

web.config 应该在连接字符串部分有一个类似下面的条目(注意 YOURCONTEXTNAME 应该与您的 DBContext 类的名称匹配)。

  <add name="YOURCONTEXTNAME" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=YOURDATABASENAME;Integrated Security=SSPI"
       providerName="System.Data.SqlClient" />
于 2013-07-23T12:11:38.163 回答
2

好的。我发现了问题。我不小心编辑了错误的 web.config 文件。Asp.Net MVC 5 在 Views 文件夹中创建第二个 web.config 文件。当然,连接字符串必须插入到根文件夹的 web.config 中。

于 2013-07-23T20:17:19.230 回答