/// <summary> /// Insert dla sporej liczby danych, typu Bulk, pod spodem tmp table i merge /// </summary> /// <typeparam name="T"></typeparam> /// <param name="entities"></param> /// <returns></returns> public async Task InsertBulk <T>(List <T> entities) where T : class { try { await _databaseContext.BulkInsertAsync(entities); await _databaseContext.SaveChangesAsync(); } catch (DbUpdateConcurrencyException ex) { throw new DbUpdateConcurrencyException("Dane nie zostały zapisane. Ktoś w międzyczasie wykonał ich zmianę. Odśwież i spróbuj ponownie", ex); } finally { Parallel.ForEach(entities, p => { _databaseContext.Entry(p).State = EntityState.Detached; }); } }