static void Main(string[] args) { // Set up var connectionString = "Application Name=EventStore;Integrated Security=SSPI;Data Source=.\\SQL2008R2;Initial Catalog=temp_db"; var databaseName = "EventStoreSample_" + DateTime.Now.ToString("yyyyMMddHHmmss"); var serializationMethod = new XmlDataContractSerialization(); var persistenceMethod = new SqlServer2008PersistenceMethod(connectionString, databaseName, serializationMethod); var eventStore = new EventStore(persistenceMethod); // Pre-generate some id's for our streams. var stream1Id = Guid.NewGuid(); var stream2Id = Guid.NewGuid(); // Write-only sample. using (var session = eventStore.NewSession()) { // Adding an event to an event stream that doesn't exist implicitly creates the stream. session.AddEvent(stream1Id, new TheHelloWorldEvent("Hello World")); session.AddEvent(stream1Id, new TheHelloWorldEvent("Hello World Again")); session.AddEvent(stream2Id, new TheHelloWorldEvent("Hello World Again")); // Mark the session as successfully completed. session.Complete(); // When the session is disposed, if it is marked as completed it will persist the events. } // Read-only model foreach (var eventStream in eventStore.GetAll()) { WriteStreamToConsole(eventStream); } // Read & Write Sample using (var session = eventStore.NewSession()) { var eventStream = session.GetById(stream1Id); WriteStreamToConsole(eventStream); } Console.WriteLine("Press any key to continue."); Console.ReadLine(); }
static void Main(string[] args) { // Set up var persistenceMethod = new InMemoryPersistenceMethod(); var eventStore = new EventStore(persistenceMethod); // Pre-generate some id's for our streams. var stream1Id = Guid.NewGuid(); var stream2Id = Guid.NewGuid(); // Write-only sample. using (var session = eventStore.NewSession()) { // Adding an event to an event stream that doesn't exist implicitly creates the stream. session.AddEvent(stream1Id, new TheHelloWorldEvent("Hello World")); session.AddEvent(stream1Id, new TheHelloWorldEvent("Hello World Again")); session.AddEvent(stream2Id, new TheHelloWorldEvent("Hello World Again")); // Mark the session as successfully completed. session.Complete(); // When the session is disposed, if it is marked as completed it will persist the events. } // Read-only model foreach (var eventStream in eventStore.GetAll()) { WriteStreamToConsole(eventStream); } // Read & Write Sample using (var session = eventStore.NewSession()) { var eventStream = session.GetById(stream1Id); WriteStreamToConsole(eventStream); } Console.WriteLine("Press any key to continue."); Console.ReadLine(); }
public EventStoreSession(EventStore eventStore, IPersistenceSession persistenceSession) { this.Context = new ExpandoObject(); this.eventStore = eventStore; this.persistenceSession = persistenceSession; }