0

保存大量记录时,即使记录属于同一类型,SaveChanges 似乎也很慢。下图显示了尝试保存约 60000 条记录的分析会话,这些记录属于混合类型,但其中许多共享相同类型。我的期望是 SaveChanges 调用的 CreateDbCommandDefinition 将为每个记录类型调用一次,令人惊讶的是它是为每个记录单独调用的。这当然会导致性能不佳。

我用 EF 4.3.1 和 5.0 都检查了这一点,结果相同。无论如何配置EF,它不会为数据库中插入/更新的每条记录创建一个命令?

4

1 回答 1

2

EF 在单独的 SQL 命令和单独的数据库往返中执行每个修改 - 这是性能不佳的主要原因。目前没有办法改变这一点,除非您从 codeplex 下载EF 源代码并自己实现命令批处理 - 甚至还有相关的工作项功能请求

于 2012-08-01T11:27:27.570 回答