2013-07-23 100 views
1

我是新来的SQL Server Express(不是一般的SQL Server),我有一个问题。我在ASP.NET MVC应用程序中使用实体框架(6-beta)。SQL Server Express和实体框架

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

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

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

我的问题是:当我从Visual Studio启动MVC应用程序时,实体框架无法打开到数据库的连接。该异常文本是相当unprecise,但内部异常发现,它会尝试连接到:

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

我的连接字符串:

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

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

回答

1

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

1

您需要MVC应用程序项目上的web.config条目(如果DBContext位于另一个引用的项目中)。

web.config应该在connectionstrings部分中有一个类似下面的条目(注意YOURCONTEXTNAME应该与您的DBContext类的名称相匹配)。

<add name="YOURCONTEXTNAME" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=YOURDATABASENAME;Integrated Security=SSPI" 
     providerName="System.Data.SqlClient" /> 
+0

好的。我认为这很明显......我在我的Asp.Net项目中使用了web.config。连接字符串的名称与我的DbContext类相匹配。 – makzr

相关问题