我正在尝试更改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="data source=xxxxx;initial catalog=xxx;persist security info=True;user id=xxxx;password=xxxxx;MultipleActiveResultSets=True;App=EntityFramework"" 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>
答案 0 :(得分:4)
我设法让它工作......我玩连接字符串。我认为这是因为提供者类型不能是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" />
答案 1 :(得分:0)
我有完全相同的问题。我创建了我的表并使用我的表和asp.net成员资格创建了实体框架模型。试图使用相同的连接字符串,但我得到了相同的异常。在调查并使用它后,我放弃并回滚到DefaultConnection用法。我认为这个问题的原因是在登录过程中使用的某个实体没有在模型中表示。