.NET实体框架插入与批量插入

Kel*_*lly 10 .net c# entity-framework

当我使用我的xxxContext对象并向表发出几个Add时,那么SaveChanges()实体框架如何将其解析为SQL?它只是循环插入到xxx中,或者如果有数百行,是否足够智能发出批量插入命令?

奖金问题:如果它没有发出批量插入有没有办法强制它,所以我的数据库性能不会被单独的插入杀死?或者批量到临时表然后像Upsert一样合并到原始表?

gra*_*der 6

任何ORM工具的垮台都是"健谈".大多数时候这都足够了.有时它不是.

最简洁的答案是不".

这就是为什么我有时候会选择IDataReader而不是EF或NHibernate等.对于批量插入操作,我将xml发送到存储过程,然后我将其粉碎并从那里批量插入/更新或合并.

因此,即使我使用ORM,我创建的域库也不依赖于EF(或NHibernate)......所以我在某些情况下通过ORM有一个"安全阀".