c# - 更改身份数据库

标签 c# asp.net-mvc exception asp.net-mvc-5 asp.net-identity

我正在尝试更改 Identity 的数据库,更改 ApplicationDbContext:

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    public ApplicationDbContext() : base("BOACopaEntities")
    {
    }
}

我将其从 DefaultConnection 更改为 BOACopaEntities...

我还将连接字符串添加到了 web.config 中。

但是当我尝试运行我的应用程序时,我收到错误:

Unable to load the specified metadata resource.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.Data.Entity.Core.MetadataException: Unable to load the specified metadata resource.

Source Error: 


Line 200:
Line 201:            // Sign in the user with this external login provider if the user already has a login
Line 202:            var user = await UserManager.FindAsync(loginInfo.Login);
Line 203:            if (user != null)
Line 204:            {

有人知道我还应该做什么来解决这个错误吗?

这是 web.config:

<configuration>
  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561554e089" requirePermission="false" />
  </configSections>
  <connectionStrings>
    <!--<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-Belintani.BOACopa.WebApplication-20131118010347.mdf;Initial Catalog=aspnet-Belintani.BOACopa.WebApplication-20131118010347;Integrated Security=True" providerName="System.Data.SqlClient" />-->
    <add name="BOACopaEntities" connectionString="metadata=res://*/BOACopaModel.csdl|res://*/BOACopaModel.ssdl|res://*/BOACopaModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=xxxxx;initial catalog=xxx;persist security info=True;user id=xxxx;password=xxxxx;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
  </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>
  <system.web>
    <authentication mode="None" />
    <compilation debug="true" targetFramework="4.5" />
    <httpRuntime targetFramework="4.5" />
  </system.web>
  <system.webServer>
    <modules>
      <remove name="FormsAuthenticationModule" />
    </modules>
  </system.webServer>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
         <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
       </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
          </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-1.5.2.14234" newVersion="1.5.2.14234" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="v11.0" />
      </parameters>
    </defaultConnectionFactory>
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
    </providers>
  </entityFramework>
</configuration>

最佳答案

我设法让它工作......我玩弄了连接字符串。我认为这是因为提供程序类型不能是 Entity.Client,它必须是 Sql.Client...但无论如何...这是对我有用的 conn 字符串:

<add name="DefaultConnection" connectionString="Data Source=xxx;user id=xxx;password=xxx;Initial Catalog=xxx;Integrated Security=False" providerName="System.Data.SqlClient" />

关于c# - 更改身份数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21565519/

相关文章:

exception - 如何避免加载网页时因 watir-webdriver 超时错误导致程序终止?

c# - nHibernate ICriteria 按多对多属性最小值排序

asp.net-mvc - SignalR 2 不生成/signalr/hubs

c# - 无法读取 local.settings.json 中定义的连接字符串

c# - 具有 2FA : List of Trusted Browsers 的 Asp.Net 身份

c# - .NET Core Web Deploy to production 在发布时关闭站点?

python - 无法通过用户输入引发异常

java - 将已检查的异常作为未检查的异常抛出。有什么办法可以在运行时阻止吗?

c# - System.Data.SQLite BackupDatabase() 抛出 "not an error"

c# - EventHandler 在 .dll 中始终为 null,从另一个类订阅