Я думаю, что что-то вроде следующего может работать нормально для ввода dbcontext через конструктор в мой сервисный уровень .... Кто-нибудь есть лучший способ? Кажется, однако, что _context.EntityName и т. Д. Не отображаются в intellisense, если я не передам объект фактическому классу, который наследует от dbcontext.Каков наилучший способ обертывания dbContext для DI?
public interface IContextFactory:IDisposable
{
DbContext Create();
}
public class ContextFactory<TContext> : IContextFactory where TContext : DbContext, new()
{
private DbContext _context;
public DbContext Create()
{
_context = new TContext();
_context.Configuration.LazyLoadingEnabled = true;
return _context;
}
public void Dispose()
{
_context.Dispose();
}
}
Вот лучшая идея: угробить контекстную завод и просто впрыснуть 'DbContext' в конструкторах. – Steven
Связанный: http://stackoverflow.com/questions/10585478/one-dbcontext-per-web-request-why – Steven