Asp.net mvc 将默认ASP.NET标识实体与通用存储库一起使用

Asp.net mvc 将默认ASP.NET标识实体与通用存储库一起使用,asp.net-mvc,asp.net-identity,Asp.net Mvc,Asp.net Identity,在上一个主题中,我成功地合并了默认的ASP.NET标识和我自己的表上下文。下一个ASP.NET标识问题是,我的通用存储库正在使用我的表POCO,而不是使用继承的POCO,如默认的ApplicationUser:IdentityUser 如何将默认ASP.Net标识实体与通用存储库一起使用 这是我的通用存储库的主要部分: public class RepositoryBase<TContext, TEntity> : IRepositoryBaseAsync<TEntity>

在上一个主题中,我成功地合并了默认的ASP.NET标识和我自己的表上下文。下一个ASP.NET标识问题是,我的通用存储库正在使用我的表POCO,而不是使用继承的POCO,如默认的ApplicationUser:IdentityUser

如何将默认ASP.Net标识实体与通用存储库一起使用

这是我的通用存储库的主要部分:

public class RepositoryBase<TContext, TEntity> : IRepositoryBaseAsync<TEntity>, IDisposable
    where TContext : IdentityDbContext<MyContext.ApplicationUser>
    where TEntity : class
{
    private readonly TContext _context;
    private readonly IObjectSet<TEntity> _objectSet;

    protected TContext Context
    {
        get { return _context; }
    }

    public RepositoryBase(TContext context)
    {
        if (context != null)
        {
            _context = context;
            _objectSet = (_context as IObjectContextAdapter).ObjectContext.CreateObjectSet<TEntity>();
        }
        else
        {
            throw new NullReferenceException("Context cannot be null");
        }
    }
}
公共类RepositoryBase:IRepositoryBaseAsync,IDisposable 其中TContext:IdentityDbContext 地点:班级 { 私有只读TContext\u上下文; 私有只读IObjectSet\u对象集; 受保护的TContext上下文 { 获取{return\u context;} } 公共存储库(TContext上下文) { if(上下文!=null) { _上下文=上下文; _objectSet=(_上下文作为IOObjectContextAdapter).ObjectContext.CreateObjectSet(); } 其他的 { 抛出新的NullReferenceException(“上下文不能为null”); } } } 当然还有添加、查询等。。。方法,但在这个问题中,这些方法是不必要的