コード例 #1
0
ファイル: EventStorage.cs プロジェクト: ddd-cqrs-es/must
        void SaveEventsInBatch(string stream_name, int expected_version,
                               IEnumerable <Event> events, IEventSerializer serializer)
        {
            EventStoreTransaction trasaction = connection_
                                               .StartTransaction(stream_name, expected_version);

            EventData[] serialized_events = Serialize(events, serializer).ToArray();

            int position = 0;

            while (position < serialized_events.Length)
            {
                var page_events = serialized_events
                                  .Skip(position)
                                  .Take(kWritePageSize);
                trasaction.Write(page_events);
                position += kWritePageSize;
            }
            trasaction.Commit();
        }
コード例 #2
0
 public OngoingTransaction Write(params EventData[] events)
 {
     _transaction.Write(events);
     return(this);
 }