Используя Unity, как вы регистрируете сопоставления типов для обобщений?
я пытаюсь реализоватьрешение для хранилища для Entity Framework но у меня возникают проблемы при регистрации типов, которые включают дженерики с использованием Unity.
Дано:
// IRepository interface
public interface IRepository
{
// omitted for brevity
}
// Repository implementation
public class Repository : IRepository, IDisposable
where TEntity : class
where TContext : DbContext
{
// omitted for brevity
}
// service layer constructor
public MyServiceConstructor(IRepository repository)
{
_repository = repository;
}
Мне нужно зарегистрировать отображение типа для IRepository в Repository. но я'У меня возникли проблемы с синтаксисом Unity для этого вида отображения.
Я попробовал следующее без удачи:
container.RegisterType();
container.RegisterType();
РЕДАКТИРОВАТЬ
Основываясь на ответе @Steven, я теперь имею следующую реализацию:
// UnityRepository implementation
public class UnityRepository : Repository
where TEntity : class
{
public UnityRepository() : base(new MyDbContextEntities()) { }
}
// Unity bootstrapper
container.RegisterType(typeof(IRepository), typeof(UnityRepository));