0

我使用 MS 数据访问应用程序块与数据库交互,我看到它的性能很好。当我想添加 100 条或更多记录时,我会将这 100 条记录以 xml 格式发送到存储过程,然后从那里进行批量插入。现在我必须使用实体框架。我以前从未使用过 EF,所以我不熟悉 EF 及其工作原理。

在另一个论坛中,我问了一个问题,例如“实体框架在批量插入和更新数据的情况下如何工作”并得到了答案

根据我的经验,EF 不支持批量插入或批量更新。

它的作用是发出单独的插入或更新语句,但如果您在调用 SaveChanges() 之前将所有更改添加到 dbcontect,它会将所有这些语句包装在事务中。

EF 不能处理批量插入/更新是真的吗?如果批量插入/更新 EF 在循环中插入数据?如果我们需要一次提交 100 条记录,那么 EF 不能做到吗?

如果不正确,请指导我应该如何编写代码,因为 EF 可以进行批量插入/更新。还告诉我如何查看它将生成什么样的 SQL 的技巧。

如果可能,请指导我使用 EF 批量插入/更新的示例代码。还告诉我哪个版本的 EF 支持真正的批处理操作。谢谢

4

1 回答 1

0

是的,EF 不是批量加载、更新工具。你当然可以放几个 K 条目并提交 (SaveChanges) 但是当你有大量的速度很关键时,使用 SQL。

请参阅批量更新/删除 EF5作为该主题的示例

于 2013-08-02T09:12:28.563 回答