private void Commit() { if (ArraysBuffer.Any()) { Context.Arrays.AddRange(ArraysBuffer); Context.SaveChanges(); ArraysBuffer.Clear(); } if (_transaction != null) { _transaction.Commit(); _transaction = null; } }
public virtual Array AddArray(string name, int number, double[] values) { if (!EditMode) { throw new BundleNotInEditModeException(); } var array = new Array(name, number, values, Id); ArraysBuffer.Add(array); if (ArraysBuffer.Count >= MaxBufferSize) { Commit(); RecreateContext(); } _count++; return(array); }
public Array GetArray(int number) { var array = Arrays.FirstOrDefault(arr => arr.BundleId == Id && arr.Number == number); return(array ?? ArraysBuffer.FirstOrDefault(arr => arr.Number == number)); }