Asp.net mvc 如何设置ASP.NET标识以使用自己的连接字符串?

Asp.net mvc 如何设置ASP.NET标识以使用自己的连接字符串?,asp.net-mvc,asp.net-mvc-5,asp.net-identity,Asp.net Mvc,Asp.net Mvc 5,Asp.net Identity,我有一个使用EF的MVC5应用程序。我想添加ASP.NET标识,我注意到ASP.NET标识的连接字符串使用“DefaultConnection”。我需要做什么才能在我已经存在的数据库(source=DILS-S1301;initial catalog=MVC5;)中创建ASP.NET标识表,如MVC5Entities中所述,而不是DefaultConnection=>(LocalDb)\v11.0中所述?? 谢谢 实际问题应该是“如何设置ASP.NET标识以使用自己的连接字符串?” 如果以上是您

我有一个使用EF的MVC5应用程序。我想添加ASP.NET标识,我注意到ASP.NET标识的连接字符串使用“DefaultConnection”。我需要做什么才能在我已经存在的数据库(source=DILS-S1301;initial catalog=MVC5;)中创建ASP.NET标识表,如
MVC5Entities
中所述,而不是
DefaultConnection=>(LocalDb)\v11.0
中所述?? 谢谢

实际问题应该是“如何设置ASP.NET标识以使用自己的连接字符串?”

如果以上是您问题的正确摘要,下面是答案

ASP.NET Identity使用EntityFramework执行与数据库相关的任务。因此,您可以根据需要使用以下选项

选项1:可以使用web.config中的以下代码片段设置EntityFramework的默认连接字符串

<entityFramework>
  <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework">
    <parameters>
      <parameter value="Data Source=(localdb)\v11.0; Integrated Security=True; MultipleActiveResultSets=True" />
    </parameters>
  </defaultConnectionFactory>
</entityFramework>


选项2:通过编程,还可以将ConnectionString名称传递给DbContext的构造函数。像
新应用程序的bContext(MyConnectionString)

实际上,您需要做的就是将defaultConnectionString更改为所需的连接字符串。如果您对新的MVC 5项目使用了正常设置,并且新数据库中不存在标识表,则会自动在其中创建标识表

您不必编辑连接字符串的部分,也不必编辑DbContext构造函数,除非您想更改ContectionString名称,并且不同意替换默认连接字符串

如果您可以替换默认的连接字符串,您应该可以只替换它。。。这对我有用

我发现这篇文章也很有帮助:

使用两个单独的连接字符串是否存在实际问题?在找到答案之前,花了半天时间试图解决这个问题。它看起来如下所示:1。实体框架连接到
defaultConnectionFactory
子句中指定的服务器。2.并创建在new
new ApplicationDbContext()构造函数参数中指定的数据库。3.如果构造函数没有参数,则创建的数据库名为
“DefaultConnection”
<connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source=DILS-S1301;AttachDbFilename=|DataDirectory|\MVC5.mdf;Initial Catalog=MVC5;Integrated Security=True" providerName="System.Data.SqlClient" />
    <add name="MVC5Entities" connectionString="metadata=res://*/Models.Mvc5Model.csdl|res://*/Models.Mvc5Model.ssdl|res://*/Models.Mvc5Model.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=DILS-S1301;initial catalog=MVC5;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
</connectionStrings>
Database 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\MVC5.mdf' already exists. Choose a different database name.
Cannot attach the file 'C:\Users\blah\Documents\Visual Studio 2013\Projects\MySuperAwesomeMVCApp\MySuperAwesomeMVCApp\App_Data\MVC5.mdf' as database 'MVC5'.
<entityFramework>
  <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework">
    <parameters>
      <parameter value="Data Source=(localdb)\v11.0; Integrated Security=True; MultipleActiveResultSets=True" />
    </parameters>
  </defaultConnectionFactory>
</entityFramework>