我总是DbContext.SaveChanges()
在UnitOfWork.Commit()
方法中看到一个。但是,当我从 DbContext 获取实体并更改属性时,UnitOfWork.Commit()
会将新实体值写回我的数据库,而无需任何验证。
我会避免使用集成的DbContext.Configuration.ValidateOnSaveEnabled = true;
.
目前我不使用 UnitOfWork-Pattern。我对我的服务类中的每个插入/更新操作运行验证,如果验证成功,存储库调用DbContext.SaveChanges()
。
如何避免UnitOfWork.Commit()
使用无效实体?如果我在 ASP.NET MVC 控制器中使用 UnitOfWork 对象,正如它在此答案中所建议的那样:
在哪里工作单元属于 w/EF4、IoC (Unity) 和存储库?
...无法保证验证已完成。