相关疑难解决方法(0)

批量更新/删除EF5

使用(实体框架)EF5处理批量更新的最佳方法是什么?我有两个我感兴趣的特殊情况:

  1. 更新一个字段(例如UpdateDate)以获取100到100.000 Id之间的列表(List),这是主键.分别调用每个更新似乎需要很多开销并且需要很长时间.

  2. 在单个go中插入多个,也在100到100.000之间的相同对象(例如用户).

有什么好建议吗?

entity-framework batch-processing entity-framework-5

41
推荐指数
2
解决办法
4万
查看次数

在Entity Framework 4.0中批处理DB命令

我目前的项目需要与外部系统进行日常同步.同步基于复杂的导入文件结构,该结构使用广泛的业务逻辑进行解析和处理.由于业务逻辑,我们决定在.NET代码中实现这一点,并重用现有的BL组件,而不是在存储过程或集成服务中编写相同的逻辑.

BL层位于EF 4.0数据访问层的顶部.当前实现过程导入批处理,将所有更改填入ObjectContext并在事务中执行SaveChanges.当我检查SQL分析器时,我看到EF将每个实体更改作为单个SQL命令执行(具有自己的往返DB的往返).此外,看起来这些命令是完全顺序执行的.所以我有多达100.000往返数据库进行初始导入,以及10.000 - 50.000往返数据库进行日常同步.

是否可以通过EF本身或某些提供商/扩展程序以某种方式批量插入/更新/删除命令?

.net entity-framework batch-processing entity-framework-4

15
推荐指数
1
解决办法
6104
查看次数