У меня есть BaseRepository , который зависит от DbContext
для выполнения операций с базой данных:
public abstract class BaseRepository<TEntity> : IBaseRepository<TEntity> where TEntity : Entity
{
...
}
Я не хочу вставлять эту зависимость, используя Внедрение зависимостей в конструктор , потому что, если я использую, мне нужно будет передать эту зависимость в конструкторы производных репозиториев. Я не хочу использовать Ввод зависимости свойства / сеттера тоже, потому что Ввод зависимости свойства / сеттера указывает, что зависимость необязательна, а это не так.
Мой DbContext
наследуется от IDbContext
интерфейса, где находится мой Шаблон UnitOfWork :
public class DbContext : System.Data.Entity.DbContext, IDbContext
{
...
}
И я установил IDbContext
, используя Ninject :
public override void Load()
{
Bind<IDbContext>().To<DbContext>().InRequestScope();
}
У меня вопрос, как я внедряю DbContext
в базовый репозиторий, и мне нужен один экземпляр DbContext
в requestScope. (Использование фабрики?)