Usando o Unity, como você registra mapeamentos de tipos para genéricos?

Estou tentando implementar umsolução de repositório para o Entity Framework mas estou tendo problemas para registrar os tipos que incluem genéricos usando o Unity.

Dado:

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

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

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

Eu preciso registrar o mapeamento de tipo para IRepository para Repository. mas estou tendo problemas com a sintaxe do Unity para esse tipo de mapeamento.

Eu tentei o seguinte sem sorte:

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

EDITAR

Com base na resposta @Steven, tenho a seguinte implementação agora:

// 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<>));

questionAnswers(1)

yourAnswerToTheQuestion