/// <summary> /// /// </summary> /// <param name="record"></param> public void SaveChanges(IFluentRecord record) { var mutations = record.MutationTracker.GetMutations(); var op = new BatchMutate(mutations); ExecuteOperation(op); }
/// <summary> /// /// </summary> /// <param name="record"></param> /// <param name="atomic">in the database sense that if any part of the batch succeeds, all of it will. No other guarantees are implied; in particular, there is no isolation; other clients will be able to read the first updated rows from the batch, while others are in progress</param> /// <seealso href="http://www.datastax.com/dev/blog/atomic-batches-in-cassandra-1-2"/> public void SaveChanges(IFluentRecord record, bool atomic = true) { var tracker = record.MutationTracker; var mutations = tracker.GetMutations(); var op = new BatchMutate(mutations, atomic); ExecuteOperation(op); tracker.Clear(); }
/// <summary> /// Saves the pending changes. /// </summary> public void SaveChanges() { lock (_trackers) { var mutations = new List <FluentMutation>(); foreach (var tracker in _trackers) { mutations.AddRange(tracker.GetMutations()); } var op = new BatchMutate(mutations); ExecuteOperation(op); foreach (var tracker in _trackers) { tracker.Clear(); } _trackers.Clear(); } }