Usando Unity, ¿cómo se registran las asignaciones de tipos para los genéricos?

Estoy tratando de implementar unsolución de repositorio para Entity Framework pero estoy teniendo problemas para registrar los tipos que incluyen genéricos usando 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;
    }

Necesito registrar la asignación de tipo para IRepository to Repository. pero estoy teniendo problemas con la sintaxis de Unity para este tipo de mapeo.

He intentado lo siguiente sin suerte:

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

EDITAR

Basado, en la respuesta de @Steven tengo la siguiente implementación ahora:

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

Respuestas a la pregunta(1)

Su respuesta a la pregunta