Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 在实体框架代码优先方法中为现有AspNetUsers表创建模型_Entity Framework_Ef Code First_Migration_Asp.net Identity_Entity Framework Migrations - Fatal编程技术网

Entity framework 在实体框架代码优先方法中为现有AspNetUsers表创建模型

Entity framework 在实体框架代码优先方法中为现有AspNetUsers表创建模型,entity-framework,ef-code-first,migration,asp.net-identity,entity-framework-migrations,Entity Framework,Ef Code First,Migration,Asp.net Identity,Entity Framework Migrations,我正在开发一个Asp.NETMVC5项目。我使用实体框架代码优先的方法与数据库交互。我使用身份系统进行用户身份验证。但是我在将身份系统中的AspNetUsers表集成到我的模型中时遇到了一个问题。我的标识系统数据库上下文和模型数据库上下文类不同,因为我使用的是内置的包含标识系统 但连接字符串是相同的。两者都使用默认的连接字符串。但模型在不同的项目中。现在我在项目的中间。我已经用数据库中的表映射了现有的模型类。我从UI创建了一个用户帐户,所以identity system所需的表(包括AspNet

我正在开发一个Asp.NETMVC5项目。我使用实体框架代码优先的方法与数据库交互。我使用身份系统进行用户身份验证。但是我在将身份系统中的AspNetUsers表集成到我的模型中时遇到了一个问题。我的标识系统数据库上下文和模型数据库上下文类不同,因为我使用的是内置的包含标识系统

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

There is already an object named 'AspNetUsers' in the database.
我能想到的是删除AspNetUsers表并更新数据库。但若我删除它,我必须删除identity system所需的其他表,因为它们具有FK关系。我不想要它。我能想到的第二种方法是删除标识系统所需的所有表。然后迁移AspNetUser模型类。然后删除该类并从UI注册新帐户。因此,将再次创建标识系统所需的所有表

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

这是迁移文件夹中的配置类

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

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

        }
    }
内部密封类配置:dbmigtorinsconfiguration
{
公共配置()
{
AutomaticMiggerationsEnabled=真;
AutomaticMigrationDataLossAllowed=true;
}
受保护的覆盖无效种子(PatheinFashionStore.Domain.Concrete.StoreContext上下文)
{
}
}
这是我的上下文初始化器类

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

        protected override void Seed(StoreContext context)
        {

        }
    }
公共类上下文初始值设定项:System.Data.Entity.CreateDatabaseIfNotExists
{
受保护的覆盖无效种子(StoreContext上下文)
{
}
}

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

只需从IdentityDbContext继承您的上下文即可。只需从IdentityDbContext继承您的上下文即可。