使用MVC5和.Net Identity进行迁移的最佳方法是什么?

时间:2014-03-21 06:29:00

标签: asp.net-mvc asp.net-mvc-5 ef-migrations asp.net-identity

我只是让自己完成了使用EF6和Code First学习MVC5的步伐,并且遇到了一些困惑......

人们如何使用身份更改来管理他们的DbSets,尤其是迁移?

您是管理两组迁移还是将普通DbSet放入IdentityModel.cs文件中?

这就是我目前的情况:

public class ApplicationUser : IdentityUser
{
}

public class AoecContext : IdentityDbContext
{
    public AoecContext()
        : base("DefaultConnection")
    {
    }
    public DbSet<Course> Courses { get; set; }
    public DbSet<Faculty> People { get; set; }
    public DbSet<SitePage> SitePages { get; set; }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);
        modelBuilder.Entity<SitePage>().HasOptional(p => p.CourseDetails);
    }
}

这是一个好主意,还是只是简单的坏事?

1 个答案:

答案 0 :(得分:1)

如果将IdentityDbContext与DomainDbContext分开,您的问题会更好一些,但是您需要管理两组迁移(除其他外)。如您所知,您只需要一组迁移。我不会考虑你在做什么&#34;坏&#34;必然 - 它真的取决于项目。

如果有任何安慰,我们当前正在处理的项目只使用一个DbContext,它也继承了IdentityDbContext。它确实提到了我希望不存在的数据访问项目的一些参考,但它确实极大地简化了在数据库生成,持久性和迁移方面使用EF的过程。我们是否会在未来成长,很难说。