You can create named bindings to work on Alpha:
Bind<IRepository>().To<AlphaRepository>().Named("Alpha");
then you can specify others, for example:
Bind<IRepository>().To<AnotherRepository>().Named("Beta");
When your example constructor is used, you will get an AlphaRepository.
To use a name with a property, give the property a name attribute just like you for the parameter:
[Inject, Named("Alpha")] public IRepository Foo {get; set;}
ryber source share