In this presentation I am going to talk about and demonstrate with code samples how to use event sourcing as an architectural pattern in a line of business application. When using event sourcing we never store the current state of objects in a database but rather a stream of events that happen over time and brought the object into the state it currently is. Event sourcing opens up new insight into what has happened to an object over time. We retain the whole history of each object. A good analogy of real life is the journal of an accountant. Each financial transaction is marked as a journal entry. The current balance is calculated by aggregating all journal entries.