Home
Ncqrs is a framework for .NET helps build scalable, extensible and maintainable applications by supporting developers apply the CQRS architectural pattern.
It does so by providing an infrastructure and implementations for the most important building blocks for command handling, domain modeling, event sourcing, and so. These building blocks help you to focus on the code that adds business value. They come with annotation, convention and configuration support and help you to write isolated and testable code.
Features
- Rich building blocks to support a full CQRS based architecture
- Command handling, including servicing and execution
- Event sourcing support
- Snapshot support
- Domain modeling infrastructure
- Mapping based on convention, attributes or on a fluent specification
- Sample application that show a simple CQRS based application
- Easy to extend
Additional support for
- NServiceBus
- SQLite
- Microsoft Azure Platform
- StructureMap
- RavenDB

Thanks for this run through! Makes things a fair bit clearer. I thought I would share a few additional steps that I had to perform to get this working.
1. I had to set the UI project to target .net 4.0 as it defaulted to 3.5 on my box to avoid a runtime error parsing Index.aspx ‘CS1525: Invalid expression term ‘:’ on
2. I had trouble visualising the persisted events + read model data, sometimes it appeared sometimes it didn’t. I eventually attached the mdf + ldf files to my local sqlexpress instance as normal databases rather than user instances as I found this easier. You will need to run the Dbs once as user instances in order to do this as for some reason you can’t just attach the mdf as downloaded because it lacks the ldf log file.
3. In the section ‘The First Denormalizer’, the posted code above has no implementation for DenormalizeEvent so won’t compile. I got round this by having an empty implementation which appears to work but I don’t know enough about the framework to tell if this breaks something else. The code in the section also refers to TweetListItem, the class name autogenerated by VS was TweetIndexItem for me at least.
Hope this helps someone else!
Where is value object in NCQRS?
How can I save value object into DB?
Thank you!