EF的批量操作

之前在一个临时迁移数据的项目中需要使用到EF针对Mysql的批量操作,因为该项目具备以下条件:

  1. 是临时性的,数据掐迁移完成后就不再使用,
  2. 同时有一定的效率要求
  3. 项目中的实体在其他项目中都是基于EF的,已经写好了Model

考虑到尽可能的减少工作量,最快捷的方式是找到一个支持EF批量操作的框架,因为Model已经是现成的,写linq肯定还是比写原生sql方便一些,然后就找到了Entity Framework Extensions。

Entity Framework Extensions

Entity Framework Extensions是一个基于EntityFramework框架的扩展支持批量操作,而且效率还可以,语法也特别简单,eg:

// Easy to use
context.BulkSaveChanges();
context.BulkInsert(list);
context.BulkUpdate(list);
context.BulkDelete(list);
context.BulkMerge(list);

// Easy to customize
context.BulkMerge(customers, options => 
	options.ColumnPrimaryKeyExpression = customer => customer.Code);

当然,这么好用的东西是要收费的,但是还是可以试用的,而且试用是没有限制的,每个月需要重新导一次它最新的dll,因为是临时项目,所以在运行的时候只需要保证dll是最新的就可以了,生成环境的话,建议还是花点钱吧

具体的介绍和使用方式可以参加官网:
https://entityframework-extensions.net/

posted @ 2019-01-24 18:09  Pen丶  阅读(631)  评论(0编辑  收藏  举报