更新时间:2023-02-03 08:25:00
在 OnModelCreating
的示例代码中,您声明了 modelBuilder.Entity< AnEventUser>()。HasOne(e => e.User)...
两次:在方法开头和结尾。
In your sample code in OnModelCreating
you have declared modelBuilder.Entity<AnEventUser>().HasOne(e => e.User)...
twice: at start of method and at end.
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<AnEventUser>() // THIS IS FIRST
.HasOne(u => u.User).WithMany(u => u.AnEventUsers).IsRequired().OnDelete(DeleteBehavior.Restrict);
modelBuilder.Entity<AnEventUser>()
.HasKey(t => new { t.AnEventId, t.UserId });
modelBuilder.Entity<AnEventUser>()
.HasOne(pt => pt.AnEvent)
.WithMany(p => p.AnEventUsers)
.HasForeignKey(pt => pt.AnEventId);
modelBuilder.Entity<AnEventUser>() // THIS IS SECOND.
.HasOne(eu => eu.User) // THIS LINES
.WithMany(e => e.AnEventUsers) // SHOULD BE
.HasForeignKey(eu => eu.UserId); // REMOVED
}
第二个呼叫优先。删除它。
Second call overrides first. Remove it.