";定义此EntityType的键";当包括ApplicationUser类型的属性时
本文关键字:quot 类型 ApplicationUser 属性 的键 定义 EntityType 包括 | 更新日期: 2023-09-27 17:57:42
我正在编写C#/ASP.NET MVC5 web应用程序,在尝试执行新的迁移时遇到以下错误
ToTheMoon.DAL.IdentityUserLogin: : EntityType 'IdentityUserLogin' has no key defined. Define the key for this EntityType.
ToTheMoon.DAL.IdentityUserRole: : EntityType 'IdentityUserRole' has no key defined. Define the key for this EntityType.
IdentityUserLogins: EntityType: EntitySet 'IdentityUserLogins' is based on type 'IdentityUserLogin' that has no keys defined.
IdentityUserRoles: EntityType: EntitySet 'IdentityUserRoles' is based on type 'IdentityUserRole' that has no keys defined.
我在其中一个模型中包含了ApplicationUser
类型的属性(?)。我相信这就是原因:
public ApplicationUser Requester { get; set; }
我很清楚,通常情况下,我应该用[Key]
注释将某个东西明确标记为密钥,但我认为这不适用,因为错误消息描述的是属于MVC5"包含电池"登录系统的类。
我已经看到一些关于这是由于错误地覆盖了一个方法(不记得现在是什么方法)引起的,但我没有这么做,所以我在网上发现的所有其他问题对我来说都没有用。
任何东西都值得赞赏。
编辑:这是我的上下文,非常简单。
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext() : base("DefaultConnection") { }
}
来自问题中的注释:
添加ApplicationUser Requester属性的实体似乎是在不同的上下文中定义的。因为是在不同的上下文中,上下文对所有Identity实体的配置一无所知,因为这是由IdentityDbContext.OnModelCreating方法设置的。