是否存在允许Service类同时处理读写操作的模式?我试图改造我们当前的服务层以使用DbContextScope github/mehdime/DbContextScope(没有repo层),我们在同一个类中进行读/写操作。
如果我使用单个IDbContextScopeFactory
对象,则会抛出异常Cannot nest a read/write DbContextScope within a read-only DbContextScope
我不想创建两个服务类,只是为了处理读取或写入操作,有没有这个?如果它只是一个范围问题,也许我可以某种方式设计图层,为每种操作类型分别设置范围?
任何指导都非常有用!
答案 0 :(得分:1)
我发现为什么会抛出异常。我试图在我引用工厂调用的同一行创建一个dbContext实例。
using (var db = _dbContextScopeFactory.Create().DBContexts.Get<*NAME*>())
{}
我认为这导致dbContext被错误地处理掉了。一旦我重构代码以在使用行之外检索dbContext,错误就会停止。
using (var fact = _dbContextScopeFactory.Create())
{
var db = fact.DbContexts.Get<*NAME*>();
}