使用Autofac注入DbContext

时间:2015-04-10 11:28:12

标签: entity-framework autofac

我有以下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());

1 个答案:

答案 0 :(得分:14)

多种方式,取决于您需要的范围,惯例等。

示例:

containerBuilder
  .RegisterType<Context>()
  .AsImplementedInterfaces()
  .InstancePerLifetimeScope();