2

在上一个主题中,我成功地合并了默认的 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");
        }
    }
}

当然,存储库中有 Add、Query 等方法,但在这个问题中这些方法是不必要的。

4

0 回答 0