Asp身份和应用程序特定模型

时间:2014-12-17 09:46:44

标签: c# asp.net-mvc asp.net-identity

我刚刚开始使用ASP .Net Identity 2的新项目。它为Identity表生成了一个开箱即用的数据库,这很好。我的困惑是我在哪里放置我的应用程序特定表?我是否创建了一个完全独立的DbContext&他们的数据库还是最好将所有表一起捆绑到一个数据库中?

由于

2 个答案:

答案 0 :(得分:2)

如果您使用的是asp.net MVC5身份2,那么IdentityDbContext已经存在于IdentityModels.cs中。所以您可以使用它。

   public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
   {
    public ApplicationDbContext()
        : base("ApplicationDbContext", throwIfV1Schema: false)
    {
    }

    public DbSet<Department> Departments { get; set; }

    public static ApplicationDbContext Create()
    {
        return new ApplicationDbContext();
    }
   }

答案 1 :(得分:1)

通常,您会扩展IdentityDbContext类,并将特定于应用程序的表放入此上下文中。这看起来类似于以下

public class BlogContext : IdentityDbContext<ApplicationUser>
{
  public BlogContext()
    : base("BlogConnection")
  {
  }

  public DbSet<Post> Posts { get; set; }
  public DbSet<Comment> Comments { get; set; }
}

有些边缘情况下,最好将您的应用程序数据与Identity的数据分开。一种情况可能是您的应用程序数据与您的用户数据无关,并且您希望将它们分开。然而,在为应用程序数据创建单独的上下文时,您应该记住,您必须处理两个上下文,这有时会很痛苦。