Я использую Замок Виндзор, и у меня есть следующее:
public class NhibernateRepository<T> : IRepository<T>
{
public NHibernateRepository(...)
{
...
}
}
Я бы хотел использовать API Fluent Windsor, чтобы зарегистрировать один сервис для каждой модели моего домена
То есть я хотел бы динамически зарегистрировать IRepository<Order>
, IRepository<Customer>
, IRepository<Article>
и т. Д., Используя NHibernateRepository<T>
, где T
затем обменивается на конкретный тип в каждом случае.
У меня есть что-то вроде этого:
container.Register(AllTypes.FromThisAssembly().Where(x => x.Namespace == "DITest.Repository").WithService.Select(...Something...)
Но я не уверен, что это вообще возможно (AllTypes подразумевает, что я хочу зарегистрировать несколько типов).
Есть какой-нибудь Виндзорский Гуру?