2

前のトピックでは、既定の ASP.NET ID と独自のテーブル コンテキストをマージすることに成功しました。次の ASP.NET Identity の問題、テーブルの POCO を操作している汎用リポジトリが、デフォルトの ApplicationUser のように継承された POCO を操作しない: 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などのメソッドがありますが、この質問では不要です。

4

0 に答える 0