web-dev-qa-db-ja.com

AutofacでDbContextを挿入します

私は次のEntityFrameworkコンテキストを持っています:

public class Context : DbContext, IDbContext {
}

IDbContextは次のとおりです。

public interface IDbContext {
  DbEntityEntry Entry(Object entity);
  IEnumerable<DbEntityValidationResult> GetValidationErrors();
  Int32 SaveChanges();
  Task<Int32> SaveChangesAsync();
  Task<Int32> SaveChangesAsync(CancellationToken cancellationToken);
  DbSet Set(Type entityType);
  DbSet<TEntity> Set<TEntity>() where TEntity : class;
} // IDbContext

Autofacを使用してDbContextインジェクションを構成する正しい方法は何ですか?

StructureMapを使用すると、次のことができました。

For<IDbContext>().Use(x => new Context());
11
Miguel Moura

必要な範囲、規則などに応じて、さまざまな方法があります。

例:

containerBuilder
  .RegisterType<Context>()
  .AsImplementedInterfaces()
  .InstancePerLifetimeScope();
14
Jacek Gorgoń