Sql server Asp.Net标识-建立与SQL Server的连接时发生与网络相关或特定于实例的错误

Sql server Asp.Net标识-建立与SQL Server的连接时发生与网络相关或特定于实例的错误,sql-server,asp.net-mvc,asp.net-identity,Sql Server,Asp.net Mvc,Asp.net Identity,我有一个代码优先EF应用程序。数据库已创建。现在,我正在尝试使用Asp.Net标识实现登录/注册模块。我点击了注册链接,但它给出了上述错误 Web.config: ... <connectionStrings> <add name="ConnStr_Dev" connectionString="Data Source = DELL-MyName; Initial Catalog = MyDB_Dev; user id = sa; password=m

我有一个代码优先EF应用程序。数据库已创建。现在,我正在尝试使用Asp.Net标识实现登录/注册模块。我点击了注册链接,但它给出了上述错误

Web.config:

...
<connectionStrings>
    <add name="ConnStr_Dev" 
         connectionString="Data Source = DELL-MyName; Initial Catalog = MyDB_Dev; user id = sa; password=myPassword;" 
         providerName="System.Data.SqlClient" />
    <!--<add name="DefaultConnection" 
         connectionString="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\aspnet-MyApp-20170328111628.mdf;Initial Catalog=aspnet-MyApp-20170328111628;Integrated Security=True"
         providerName="System.Data.SqlClient" />-->
</connectionStrings>
<appSettings>
    <add key="webpages:Version" value="3.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
...
<entityFramework>
    <defaultConnectionFactory 
          type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
        <parameters>
            <parameter value="Data Source = DELL-MyName; Initial Catalog = MyDB_Dev; user id = sa; password=myPassword;" />
        </parameters>
    </defaultConnectionFactory>
</entityFramework>
。。。
...

是否有需要单独设置的内容

1-使用下面的连接字符串。我在这里使用的是SQL express实例。将其替换为通过sql management studio连接时使用的名称

 <connectionStrings>
    <add name="ConnStr_Dev" connectionString="Server=.\SQLEXPRESS;Database=MyDB_Dev;User ID=sa;Password=myPassword;Trusted_Connection=False;Persist Security Info=False;Pooling=True;Min Pool Size=20;Max Pool Size=100;Connection Timeout=300;multipleactiveresultsets=True;App=EntityFramework" providerName="System.Data.SqlClient"/>
    </connectionStrings>

2-从配置文件中删除
标记。你不需要它


3-确保将“ConnStr\u Dev”作为字符串传递给DbContext构造函数。

在Models文件夹中找到文件IdentityModel.cs。在ApplicationDbContext构造函数中,连接字符串的名称传递给基类构造函数-这需要和web.config中连接字符串的名称匹配

那么你的情况呢

<connectionStrings>
    <add name="ConnStr_Dev" 
         connectionString="Data Source = DELL-MyName; Initial Catalog = MyDB_Dev; user id = sa; password=myPassword;" 
         providerName="System.Data.SqlClient" />
</connectionStrings>




public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
    {
        public ApplicationDbContext()
            : base("ConnStr_Dev", throwIfV1Schema: false)
        {
        }

        public static ApplicationDbContext Create()
        {
            return new ApplicationDbContext();
        }
    }

公共类ApplicationDbContext:IdentityDbContext
{
公共应用程序上下文()
:base(“ConnStr_Dev”,throwifvv1schema:false)
{
}
公共静态应用程序上下文创建()
{
返回新的ApplicationDbContext();
}
}