Entity framework 无法将迁移添加到ef 7

Entity framework 无法将迁移添加到ef 7,entity-framework,asp.net-mvc-5,Entity Framework,Asp.net Mvc 5,我仍在将旧的MVC项目移植到最新的asp.net 5 MVC和EntityFramework 7。为了实现这一点,我首先使用ef命令对旧项目中的现有数据库进行反向工程。这就正确地创建了我所有的模型类(或者基本正确)。我已经手动编辑了代码,以克服所有初始错误。我在编译时几乎不需要原始项目中的额外代码。换句话说,到目前为止,我在解决方案中只有模型类和DbContext类。所有这些都在一个程序集中,我在代码库中没有任何迁移,只有migrations目录。我认为有意义的是,添加一个迁移,将数据库从反向工

我仍在将旧的MVC项目移植到最新的asp.net 5 MVC和EntityFramework 7。为了实现这一点,我首先使用ef命令对旧项目中的现有数据库进行反向工程。这就正确地创建了我所有的模型类(或者基本正确)。我已经手动编辑了代码,以克服所有初始错误。我在编译时几乎不需要原始项目中的额外代码。换句话说,到目前为止,我在解决方案中只有模型类和DbContext类。所有这些都在一个程序集中,我在代码库中没有任何迁移,只有migrations目录。我认为有意义的是,添加一个迁移,将数据库从反向工程中基线化。我应该提到,我的DbContext继承自IdentityDbContext

public partial class STOrmContext : IdentityDbContext<ApplicationUser>
{
}
我收到以下错误消息

The entity type 'Microsoft.AspNet.Identity.EntityFramework.IdentityUserLogin<string>' requires a key to be defined.
实体类型“Microsoft.AspNet.Identity.EntityFramework.IdentityUserLogin”需要定义密钥。

我想我只是不太明白如何将遗留数据库引导到EntityFramework7中。谁能给我指出正确的方向。

我自己找到了答案

结果是有几件事我没说

  • 当我对旧数据库进行反向工程时,它为 来自遗留应用程序的身份信息
  • 我删除了那些
  • 我还需要调用基OnModelCreating(),以便它可以配置 身份资料

    protected override void OnModelCreating(ModelBuilder modelBuilder) {
         base.OnModelCreating(modelBuilder);
    }
    

我想在跳到StackOverflow的问题之前,我应该更加关注实际发生的情况

您是否覆盖了
STOrmContext
OnModelCreating
方法?是的,事实上我自己找到了答案。结果是有几件事我没说。1.当我对旧数据库进行反向工程时,它为遗留应用程序中的身份信息创建了模型。我删除了那些。我还需要调用基OnModelCreating(),以便它可以配置标识内容。我想我应该在开始一个关于StackOverflow的问题之前,更加关注到底发生了什么
protected override void OnModelCreating(ModelBuilder modelBuilder) {
     base.OnModelCreating(modelBuilder);
}