6
У меня есть следующий EntityFramework контекст:Вводят DbContext с Autofac
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
Что такое правильный способ настройки DbContext инъекции с Autofac?
С StructureMap я имел следующие:
For<IDbContext>().Use(x => new Context());
Горгоны: Есть ли причина для использования AsImplementedInterfaces() вместо указания интерфейса, например, As? И почему бы не использовать InstancePerRequest()? Спасибо. –
Указание интерфейса (я) явно не является корректным. Это вопрос вкуса, условностей, дисциплины и т. Д. (Я предпочитаю автоматы с условностями). InstancePerRequest() отлично, если вы строго в веб-контексте, но не будете работать иначе. InstancePerLifetimeScope() предполагает, что вы знаете о масштабах и сами контролируете его (например, создавайте по одному в потоке в пакетном задании). –