将默认ASP.NET Identity实体与通用存储库一起使用

时间:2013-11-06 08:04:50

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

在上一个主题中,我成功合并了默认的ASP.NET Identity和我自己的表上下文。下一个ASP.NET身份问题,我使用我的表POCO的通用存储库不能与继承的POCO一起使用,例如默认的ApplicationUser:IdentityUser

如何将默认的ASP.Net Identity实体与通用存储库一起使用?

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

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

当然,存储库中有Add,Query etc ...方法,但在这个问题中没有必要。

0 个答案:

没有答案