我的应用程序中有2个DbContext
个类。第一个是通常的ApplicationDbContext
,它继承自IdentityDbContext<ApplicationUser>
,它还包含一些链接到用户类的其他表,例如他们上传的内容等。
我的第二个DbContext类与应用程序的另一个区域相关,即组织俱乐部和活动。这称为ClubDbContext
,并且继承自标准DbContext
。
当只有一个上下文时,确切的代码可以成功运行和迁移,但是,一旦我将俱乐部/活动/组织实体拆分为它自己的上下文ClubDbContext
,当我运行代码或尝试添加时ClubDbContext
的新迁移,我收到以下错误消息:
InvalidOperationException:无法确定“List”类型的导航属性“ApplicationUser.Content”所代表的关系。手动配置关系,或从模型中忽略此属性。
它所谈论的关系在ApplicationDbContext中定义如下:
builder.Entity<Content>()
.HasOne(c => c.Author)
.WithMany(up => up.Content)
.HasForeignKey(c => c.AuthorId)
.IsRequired(true);
它正在谈论的关系在ApplicationDbContext
中指定,并且ApplicationUser
或任何成员中没有提及Content
或ClubDbContext
类班级......
在将单个上下文拆分为两个ApplicationDbContext
和ClubDbContext
之前,应用程序完美运行 - 所以问题必须在某个新的上下文中!我很茫然......有没有人知道为什么要我在ApplicationDbContext
??
我已将两个上下文类添加到以下Gist中:
https://gist.github.com/JorjeRedemption/bce50617ee40c5598d3f67dad73da25f