À l'aide de l'Unité, comment vous inscrire à ce type de mappages pour les génériques?

Je suis en train de mettre en œuvre un solution d'archivage pour Entity Framework mais j'ai du mal à enregistrer les types incluent les génériques à l'aide de l'Unité.

Donné:

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

J'ai besoin d'enregistrer le type de mappage pour IRepository de Référentiel. mais j'ai de la difficulté avec l'Unité de la syntaxe de ce type de cartographie.

J'ai essayé les suivantes avec pas de chance:

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

MODIFIER

@Steven réponse que j'ai la suite de la mise en œuvre maintenant:

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

OriginalL'auteur Mark Erasmus | 2013-09-18