2015-04-01 43 views
0

我编写了一个MVC 5互联网应用程序,并使用了实体框架6.我有一个Asset对象,可以在很多Image对象中引用。同时更新许多DbSet对象

当我编辑资产对象时,我需要更新存储在所有引用的图像对象中的DateTime对象。如果有50个需要更新的Image对象,我可以在一个数据库事务中执行此操作,而不是检索Image对象,循环访问每个Image对象,更新DateTime对象,然后更新数据库中的每个Image对象?

在此先感谢。

回答

0

据我知道,如果你循环和更新每个,但在循环后调用context.saveChanges()它应该在一个事务中提交,因为事务没有完成,直到saveChanges被调用。

+0

我该如何检查是否属于这种情况? – user3736648 2015-04-01 12:11:56

+0

你可以打开SQL管理工作室连接到你的数据库,然后去工具> SQL服务器分析器。这将显示所有数据库事务,如果只有一个在循环后执行,那么你应该只看到一个。在那里调试到saveChanges行。当你继续时,你应该在profiler中看到事务。 – Dhunt 2015-04-01 12:14:05