ASP.NET Identity Framework ApplicationUser 不是模型的一部分
ASP.NET Identity Framework ApplicationUser is not part of the model
我正在为我的问题寻找解决方案,但没有找到适合我的情况。
我有两个项目应该链接在一起。其中一个是数据库,另一个是使用身份框架的 ASP.NET MVC 项目。
为了使用我自己的数据库,我写道:
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("MyDataSource", throwIfV1Schema: false)
{
}
[...]
}
但我收到错误消息:
实体类型 ApplicationUser 不是当前上下文模型的一部分。
我在这里找到的解决方案是指从 IdentityDbContext 继承 ApplicationDbContext,但这显然对我不起作用。
这是非常普遍的错误。
如果您使用的是模型优先或数据库优先,请检查您的连接字符串,看看它是否由 EF 自动生成,如下所示:
<add name="MyDataSource" connectionString="metadata=res://*/Models.***.csdl|res://*/Models.***.ssdl|res://*/Models.***.msl;provider=System.Data.SqlClient;provider connection string="Data Source=(localdb)\ProjectsV12;Initial Catalog=DB_Projectname;Integrated Security=True;MultipleActiveResultSets=True;Application Name=EntityFramework"" providerName="System.Data.EntityClient" />
然后改成:
<add name="MyDataSource" connectionString="Data Source=(localdb)\ProjectsV12;Initial Catalog=DB_Projectname;Integrated Security=True;MultipleActiveResultSets=True;" providerName="System.Data.SqlClient" />
是的,只需删除模型元数据并将提供者名称更改为 System.Data.SqlClient。
另外,请确保身份连接正确。您可以创建一个空的 asp.net mvc 项目并将 Startup.cs 和 Startup.Auth.cs 与您的应用进行比较。
我正在为我的问题寻找解决方案,但没有找到适合我的情况。
我有两个项目应该链接在一起。其中一个是数据库,另一个是使用身份框架的 ASP.NET MVC 项目。
为了使用我自己的数据库,我写道:
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("MyDataSource", throwIfV1Schema: false)
{
}
[...]
}
但我收到错误消息: 实体类型 ApplicationUser 不是当前上下文模型的一部分。
我在这里找到的解决方案是指从 IdentityDbContext 继承 ApplicationDbContext,但这显然对我不起作用。
这是非常普遍的错误。 如果您使用的是模型优先或数据库优先,请检查您的连接字符串,看看它是否由 EF 自动生成,如下所示:
<add name="MyDataSource" connectionString="metadata=res://*/Models.***.csdl|res://*/Models.***.ssdl|res://*/Models.***.msl;provider=System.Data.SqlClient;provider connection string="Data Source=(localdb)\ProjectsV12;Initial Catalog=DB_Projectname;Integrated Security=True;MultipleActiveResultSets=True;Application Name=EntityFramework"" providerName="System.Data.EntityClient" />
然后改成:
<add name="MyDataSource" connectionString="Data Source=(localdb)\ProjectsV12;Initial Catalog=DB_Projectname;Integrated Security=True;MultipleActiveResultSets=True;" providerName="System.Data.SqlClient" />
是的,只需删除模型元数据并将提供者名称更改为 System.Data.SqlClient。
另外,请确保身份连接正确。您可以创建一个空的 asp.net mvc 项目并将 Startup.cs 和 Startup.Auth.cs 与您的应用进行比较。