Con Unity, ¿cómo puedo inyectar una dependencia con nombre en un constructor?

TengoIRespository registrado dos veces (con nombres) en el siguiente código:

// Setup the Client Repository
IOC.Container.RegisterType<ClientEntities>(new InjectionConstructor());
IOC.Container.RegisterType<IRepository, GenericRepository>
    ("Client", new InjectionConstructor(typeof(ClientEntities)));

// Setup the Customer Repository
IOC.Container.RegisterType<CustomerEntities>(new InjectionConstructor());
IOC.Container.RegisterType<IRepository, GenericRepository>
    ("Customer", new InjectionConstructor(typeof(CustomerEntities)));

IOC.Container.RegisterType<IClientModel, ClientModel>();
IOC.Container.RegisterType<ICustomerModel, CustomerModel>();

Pero luego cuando quiero resolver esto (para usar elIRepository) Tengo que hacer una resolución manual como esta:

public ClientModel(IUnityContainer container)
{
   this.dataAccess = container.Resolve<IRepository>(Client);

   .....
}

Lo que me gustaría hacer es resolverlo en el constructor (al igual queIUnityContainer). Necesito alguna forma de decir a qué tipo de nombre resolver.

Algo como esto: (NOTA: Código no real)

public ClientModel([NamedDependancy("Client")] IRepository dataAccess)
{
   this.dataAccess = dataAccess;

   .....
}

¿Hay alguna manera de hacer que mi código falso funcione?

Respuestas a la pregunta(4)

Su respuesta a la pregunta