6
Tôi có sau EntityFramework bối cảnh:Tiêm DbContext với Autofac
public class Context : DbContext, IDbContext {
}
đâu IDbContext như sau:
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
cách chính xác để cấu hình tiêm DbContext với Autofac là gì?
Với StructureMap tôi đã có sau:
For<IDbContext>().Use(x => new Context());
Gorgon: Có một lý do cho việc sử dụng AsImplementedInterfaces() thay vì chỉ định giao diện, ví dụ như,? Và tại sao không sử dụng InstancePerRequest()? Cảm ơn bạn. –
Chỉ định giao diện rõ ràng là tốt. Đó là một vấn đề về hương vị, quy ước, kỷ luật, vv (tôi thích những thứ tự động với các quy ước). InstancePerRequest() là tốt nếu bạn đang hoàn toàn trong một bối cảnh web, nhưng sẽ không làm việc khác. InstancePerLifetimeScope() giả sử bạn nhận thức được phạm vi và kiểm soát nó bằng một số nghĩa là chính bạn (ví dụ: tạo một cho mỗi chủ đề trong một công việc hàng loạt). –