i want to insert 800k row in my repository and then commit. i send every 15k record to repository and commit it but its too slow.
foreach (var imei in command.IMEIItems) {
var newIMEI = new IMEI(imei.IMEINumber, command.PromotionId);
_imeiRepository.Add(newIMEI);
}
_unitOfWork.Commit();
my problem is about foreach loop. its too slow to add in repository. commit is fast.
my repository:
public virtual TEntity Add(TEntity entity)
{
if (entity != null)
{
TEntity addedTEntity = ObjectSet.Add(entity); // add new item in this set
return addedTEntity;
}
else
{
throw new ArgumentNullException();
}
}
protected virtual IDbSet<TEntity> ObjectSet
{
get
{
return _unitOfWork.CreateSet<TEntity>();
}
}
public virtual IDbSet<TEntity> CreateSet<TEntity>() where TEntity :
class
{
return base.Set<TEntity>();
}