2012-04-26 165 views
2

以下连接字符串一切正常。EF代码优先使用SQL Server Express 2012连接字符串

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

我最近在我的本地机器上测试安装了SQL Server 2012 Express,但我不能进行连接。这是使用Windows身份验证的连接字符串。

<add name="ApplicationServices" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=testdb;Integrated Security=SSPI;" providerName="System.Data.SqlClient" /> 

我是谁尽了最大努力搜索论坛共小白,但我无法推迟从部分“类似的标题问题,”我的解决方案。任何帮助是极大的赞赏。

回答

9

的EntityFramework代码首先使用defaultConnectionFactory中的应用程序。 。的.config或web.config文件,它会自动连接到\ SQLEXPRESS这个配置是这样的:

<entityFramework> 
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework"/> 
    </entityFramework> 

如果你使用EF代码首先,你可能有自的DbContext派生的类来使用通过设计,EntityFramework将查找具有t的连接字符串他与您的上下文类名称相同,并使用该名称而不是defaultConnectionFactory。这是我如何使用它:

<connectionStrings> 
    <add name="ObjectContext" 
     connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=My.Db.Name; Integrated Security=True; MultipleActiveResultSets=True" 
     providerName="System.Data.SqlClient"/> 
    </connectionStrings> 

什么我的建议是检查EF不使用它的defaultConnectionFactory甚至强制覆盖,通过增加您的上下文命名的连接字符串。 您还应该检查this blog article,它提供了有关EF配置文件的详细信息。

+0

我很抱歉花了这么长时间来标记这是我的解决方案。我跟踪另一个爱好(如果你已婚的话,是老大),现在刚刚回来了。我的连接字符串被覆盖,发布后我无法抓住它。 – Budoray 2013-05-07 17:43:04

0

您确定这部分连接是正确的吗? “数据源= \ SQLEXPRESS [名];

我没有使用SQL Server 2012中,但尽量去除【名称】文本

+0

我的歉意。连接字符串如下。 connectionString =“Data Source =。\ SQLEXPRESS; Catalog = myHub; Integrated Security = SSPI;” providerName =“System.Data.SqlClient” – Budoray 2012-04-27 14:25:48

+0

我也试过connectionString =“Data Source =。\ SQLEXPRESS; Integrated Security = SSPI;” providerName =“System.Data.SqlClient” – Budoray 2012-04-27 14:39:56

0

这为我工作

add name="MovieDBContext" connectionString="Data Source=.\SQLEXPRESS; 
Initial Catalog=Movies; 
Integrated Security="True" providerName="System.Data.SqlClient" 

我是通过本教程的工作,不得不去解决它。该MovieDBContext在代码中创建在MVC应用程序

public class MovieDBContext : DbContext 
{ 
    public DbSet<Movie> Movies { get; set; } 
} 

这将自动创建IDE控制器类的模型,但它不会工作,直到我得到了连接字符串就在web.config文件。