我有以下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());
答案 0 :(得分:14)
多种方式,取决于您需要的范围,惯例等。
示例:
containerBuilder
.RegisterType<Context>()
.AsImplementedInterfaces()
.InstancePerLifetimeScope();