我得到DbContext has been disposed error
当我尝试从数据库中获取数据使用下面的代码提及。
由于DbContext已被处置,操作无法完成。 nopcommerce
如何解决此问题?
public class ExampleService<T> where T : Example
{
protected readonly IRepository<T> _exampleRepository;
public ExampleService()
{
_exampleRepository= EngineContext.Current.Resolve<IRepository<T>>();
}
public IList<T> GetService()
{
var query = _exampleRepository.Table;
return query.ToList();
}
}
如果ExampleService类被正确注入,而不是由代码创建,我看不出为什么遇到这个问题。实际上,Autofac管理着物体的生命线,防止这样的事情发生。所以我假设您的示例中缺少代码。只需查看您实例化ExampleService的方式。无论如何,这个评论的主要原因是记住你要在构造函数中注入你的依赖,而不是像你那样使用资源定位器。 ResourceLocator是一种足够糟糕的模式,可以尽量避免。显然,在这种情况下,没有理由。 –