我正在开发一个Asp.Net mvc5项目 . 我使用Entity Framework代码第一种方法与数据库进行交互 . 我正在使用Identity System进行用户身份验证 . 但是我在将AspNetUsers表从身份系统集成到我的模型时遇到了问题 . 我的身份系统数据库上下文和模型数据库上下文类是不同的,因为我使用内置的包含身份系统 .

但连接字符串是相同的 . 两者都使用默认连接字符串但模型在不同的项目中 . 现在我正处于项目的中间 . 我有现有的模型类与数据库中的表映射 . 我从UI创建了一个用户帐户,因此身份系统所需的表(包括AspNetUsers表)是自动迁移的 . 现在我想创建模型类来映射AspNetUsers表,因为我想在AspNetUsers表和现有表之间 Build 关系 . 所以我在我的模型项目中创建了一个名为“AspNetUser”类的模型类 . 然后我根据数据库中的AspNetUsers表为该类创建了属性 . 然后我为我的模型添加迁移和更新数据库 . 它给了我以下错误 .

There is already an object named 'AspNetUsers' in the database.

我能想到的是删除AspNetUsers表和更新数据库 . 但是如果我删除它,我必须删除身份系统所需的其他表,因为它们具有FK关系 . 我不想要这个 . 我能想到的第二种方法是删除身份系统所需的所有表 . 然后迁移AspNetUser模型类 . 然后删除该类并从UI注册新帐户 . 因此,将再次创建身份系统的所有必需表 .

第二种方式,我必须删除表并发生数据丢失 . 如何迁移覆盖现有的AspNetUsers表?可能吗?将AspNetUsers表集成到我的模型中的最佳方法是什么?

这是Migration文件夹中的Configuration类

internal sealed class Configuration : DbMigrationsConfiguration<PatheinFashionStore.Domain.Concrete.StoreContext>
    {
        public Configuration()
        {
            AutomaticMigrationsEnabled = true;
            AutomaticMigrationDataLossAllowed = true;
        }

        protected override void Seed(PatheinFashionStore.Domain.Concrete.StoreContext context)
        {

        }
    }

这是我的上下文初始化类

public class ContextInitializer : System.Data.Entity.CreateDatabaseIfNotExists<StoreContext>
    {

        protected override void Seed(StoreContext context)
        {

        }
    }

如果不可能,最好的方法是什么?