asp.net-mvc - IdentityDbContext<ApplicationUser> vs DbContext for Repository

标签 asp.net-mvc entity-framework repository asp.net-identity

我正在尝试构建我的 IRepository 接口(interface)和具体类 EntityFrameworkGenericRepository,但我对 DbContext 有疑问。

在 EFGenericRepository 中以前版本的 MVC 中,您将引用 EntityFramework 并使用 DbContext ,就是这样。

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

有没有办法解决这个问题,或者这完全没问题?

构造函数和属性的片段

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);
    }
}

最佳答案

这对我来说看起来不错。你有什么具体的担忧吗?

关于asp.net-mvc - IdentityDbContext<ApplicationUser> vs DbContext for Repository,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20058922/

相关文章:

asp.net-mvc - ASP.NET MVC : convention for organizing ViewModels

c# - 调试时停止 Visual Studio 启动当前选择/打开的 HTML 页面

asp.net-mvc - 在 ASP.NET Core 中生成唯一的随机数

c# - 如何使 WPF 跟踪扩展的部分 objectEntity 的更改。具有自定义属性

c# - Entity Framework 4.2“该类型不具有 EdmEntityTypeAttribute 属性,但包含在具有 EdmSchemaAttribute 属性的程序集中

asp.net-mvc - 在 Entity Framework 代码优先中为同一个表定义多个外键

javascript - AJAX 调用后无法显示值 (ASP.NET MVC)

c# - Linq 包含枚举数组

design-patterns - 查询除根以外的聚合中的实体

c# - StructureMap - 如何注册和解析开放泛型类型