Changing Identity's database

I'm trying to change the Identity's database, changing the ApplicationDbContext:

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

I changed it from DefaultConnection to BOACopaEntities...

I also added my connection string to the web.config.

But when I try to run my application I get the error:

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:            {

Does anyone have any idea what else I am suppose to do to solve this error?

this is the 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>

Upvotes: 2

Views: 1372

Answers (2)

I managed to get it working... I played with the connection string. I think it's because the provider type can't be a Entity.Client, it has to be a Sql.Client... but anyways... here's the conn string that worked for me:

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

Upvotes: 4

vmg
vmg

Reputation: 10566

I had exact same issue. I created my tables and created entity framework model with my tables and asp.net membership ones. tryied to use same connection string, but I was getting same exception. After investigating and playing with it I gave up and rolled back to DefaultConnection usage. I think the cause of this issue was that some entity that is used during login process is not represented in the model.

Upvotes: 0

Related Questions