public void InsertRange(IEnumerable <TEntity> entities, int batchSize = 100, bool autoCommitEnabled = false) { try { if (entities == null) { throw new ArgumentNullException("entities"); } if (entities.HasItems()) { if (batchSize <= 0) { // insert all in one step entities.Each(x => EFSet.Add(x)); } else { int i = 1; bool saved = false; foreach (var entity in entities) { EFSet.Add(entity); saved = false; if (i % batchSize == 0) { if (autoCommitEnabled) { EFContext.SaveChanges(); } i = 0; saved = true; } i++; } if (!saved) { if (autoCommitEnabled) { EFContext.SaveChanges(); } } } } } catch (DbEntityValidationException ex) { throw ex; } }
public void Insert(TEntity entity) { EFSet.Add(entity); }