我正在构建一个基于实体框架的自定义仓库,并创建了一些扩展方法,使我可以将部分视图模型保存为实体模型,因此我正在构建自己的Add和Update方法。
目前,每个方法都会在末尾调用DbContext中的SaveChanges(),这意味着对于每个模型,都会被调用一次。
我正在为MVC4站点构建这个基础DAL模式,这意味着大多数情况下我将访问1个模型,但并不一定是这种情况。
当更新3个实体时,每个模型都调用SaveChanges()是否不好的做法,或者我应该先将所有内容添加到对象上下文中,然后执行SaveChanges()作为某种事务提交?
目前,每个方法都会在末尾调用DbContext中的SaveChanges(),这意味着对于每个模型,都会被调用一次。
我正在为MVC4站点构建这个基础DAL模式,这意味着大多数情况下我将访问1个模型,但并不一定是这种情况。
当更新3个实体时,每个模型都调用SaveChanges()是否不好的做法,或者我应该先将所有内容添加到对象上下文中,然后执行SaveChanges()作为某种事务提交?
using
语句会在其作用范围结束时释放事务,如果在此之前没有成功调用Commit
方法,则会将事务回滚。 - JohnnyHKSaveChanges()
调用来减少此影响。 - binki