Используя Unity, как вы регистрируете сопоставления типов для обобщений?

Я пытаюсь реализоватьрешение для хранилища для Entity Framework но у меня возникают проблемы при регистрации типов, которые включают дженерики с использованием Unity.

Дано:

    // IRepository interface
    public interface IRepository<TEntity>
    {
        // omitted for brevity
    }

    // Repository implementation
    public class Repository<TEntity, TContext> : IRepository<TEntity>, IDisposable 
            where TEntity : class
            wh,ere TContext : DbContext
    {
        // omitted for brevity
    }

    // service layer constructor
    public MyServiceConstructor(IRepository<Account> repository)
    {
        _repository = repository;
    }

Мне нужно зарегистрировать отображение типа для IRepository в Repository. но у меня возникли проблемы с синтаксисом Unity для такого типа отображения.

Я попробовал следующее без удачи:

container.RegisterType<IRepository<>, typeof(Repository<,>)>();
container.RegisterType<typeof(IRepository<>), Repository<,>>();

РЕДАКТИРОВАТЬ

Основываясь на ответе @Steven, я теперь имею следующую реализацию:

// UnityRepository implementation   
public class UnityRepository<TEntity> : Repository<TEntity, MyDbContextEntities>
        where TEntity : class
{
    public UnityRepository() : base(new MyDbContextEntities()) { }
}

// Unity bootstrapper
container.RegisterType(typeof(IRepository<>), typeof(UnityRepository<>));

Ответы на вопрос(1)

Ваш ответ на вопрос