我只是让自己完成了使用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);
}
}
这是一个好主意,还是只是简单的坏事?
答案 0 :(得分:1)
如果将IdentityDbContext与DomainDbContext分开,您的问题会更好一些,但是您需要管理两组迁移(除其他外)。如您所知,您只需要一组迁移。我不会考虑你在做什么&#34;坏&#34;必然 - 它真的取决于项目。
如果有任何安慰,我们当前正在处理的项目只使用一个DbContext,它也继承了IdentityDbContext。它确实提到了我希望不存在的数据访问项目的一些参考,但它确实极大地简化了在数据库生成,持久性和迁移方面使用EF的过程。我们是否会在未来成长,很难说。