当我使用我的xxxContext对象并向表发出几个Adds,那么SaveChanges()实体框架如何解决这个问题呢?是否只是循环插入到xxx或如果有数百行,是否足够聪明地发出批量插入命令?
奖金问题:如果没有发出批量插入是有办法强制它,所以我的数据库性能不会被单独的插入杀死?或者批量到临时表,然后像Upsert那样合并到原始表中?
解决方法
任何ORM工具的垮台就是“聊天”.大多数时候这是够好的.有时不是.
简短的答案是“否”.
这就是为什么我仍然有时候通过EF或NHibernate等来选择IDataReader.
对于批量插入操作,我将xml发送到存储过程,并将其分解并批量插入/更新或合并.
所以即使我使用ORM,我创建一个不是EF(或NHibernate)依赖的域库,所以在某些情况下,我有一个“安全阀”通过ORM.