IdentityDbContext<ApplicationUser> vs DbContext for Repository



我正在尝试构建我的IRepository接口和具体类EntityFrameworkGenericRepository,但我对DbContext有一个问题。

在EFGenericRepository中的MVC的早期版本中,您将引用EntityFramework并使用DbContext,这就是它。

现在我使用的是具有ASP.NET标识的MVC5,我需要为IdentityDbContext切换DbContext,但这意味着我需要引用ASP.NET标识。

有办法解决这个问题吗?还是完全可以?

构造函数和属性的代码段

public class EntityFrameworkGenericRepository<T> : IGenericRepository<T> where T: class
{
    protected IdentityDbContext<ApplicationUser>Context = null;
    protected DbSet<T> DbSet
    {
        get
        {
            return Context.Set<T>();
        }
    }

    public EntityFrameworkGenericRepository(IdentityDbContext<ApplicationUser> context)
    {
        if (context == null)
        {
            throw new ArgumentNullException("context");
        }
        Context = context;
    }

这是我的WebAppDbContext:

public class WebAppDbContext : IdentityDbContext<ApplicationUser>
{
    public WebAppDbContext()
        : base(nameOrConnectionString: "DefaultConnection") { }
    public DbSet<User> User { get; set; }
    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
        base.OnModelCreating(modelBuilder);
    }
}

这对我来说很好。你有什么特别的担忧吗?

相关内容

  • 没有找到相关文章

最新更新