我使用MS数据访问应用程序块与数据库进行交互,我看到它的性能很好。当我想添加100条或更多条记录时,我将这100条xml格式的记录发送到存储过程,然后从那里进行批量插入。现在我必须使用Entity Framework。我以前从未使用EF,所以我不熟悉EF及其工作原理。
在另一个论坛中,我问了一个问题,例如“实体框架如何在批量插入和更新数据的情况下工作”并得到答案
根据我的经验,EF不支持批量插入或批量更新。
它的作用是发出一个单独的insert或update语句,但是如果在调用SaveChanges()之前将所有更改添加到dbcontect,它将把所有这些更改包装在一个事务中。
EF无法处理批量插入/更新吗?在批量插入/更新的情况下,EF在循环中插入数据?如果我们需要一次提交100条记录,那么EF不能这样做吗?
如果不对,那么请指导我如何编写代码,因为EF可以进行批量插入/更新。还告诉我如何查看它将生成哪种SQL的技巧。
如果可能的话,请指导我使用EF进行批量插入/更新的示例代码。还告诉我哪个版本的EF支持真正的批处理操作。感谢
答案 0 :(得分:0)
是EF不是批量加载,更新工具。 你当然可以放几个K条目并提交(SaveChanges) 但是,如果您的速度非常快,那么请使用SQL。
请参阅Batch update/delete EF5作为主题
的示例