private void SaveEventsWithinReadOrderRange(AggregateRootEvent[] newEvents, SqlDecimal rangeStart, SqlDecimal rangeEnd) { var increment = (rangeEnd - rangeStart)/(newEvents.Length + 1); IReadOnlyList<EventWithManualReadorder> eventsToPersist = newEvents.Select( (@event, index) => new EventWithManualReadorder { Event = @event, ManualReadOrder = rangeStart + (index + 1)*increment }) .ToList(); SaveEventsInternal(eventsToPersist); }