Entity Framework 代码首先生成复合主键不起作用

Entity Framework code first generating compound primary key not working

根据我看到的所有示例,这段代码应该生成一个复合主键,但出于某种原因,它不是我的例子。

  public abstract class MyBase
  {
    [Key, Column(Order = 0)]
    public int Id { get; set; }
  }

  public abstract class MyClass : MyBase
  {
    [Key, Column(Order = 1)]
    public AnotherClass AnotherClass { get; set; }
  }

  public abstract class AnotherClass : MyBase
  {
  }

我希望 MyClass table 有一个由 IdAnotherClass_Id 组成的复合外键。

我通过 Add-Migration -Force 解决了这个问题,然后重新搭建了迁移的脚手架,然后 Update-Database

但是我发现在做了Add-Migration -Force之后,在更新数据库之前查看生成的迁移文件,看看效果是否是我想要的是有用的。