This project is read-only.

This project has been discontinued and is superseded by The Silverlight Cookbook
However, for learning purposes on CQRS and Event Sourcing, this site will be kept intact.
Development on the Windows Azure version of The CQRS Kitchen will continue for a while though.

Project Description
The CQRS Kitchen is a .NET example application that demonstrates how to implement a CQRS / Event Sourcing application with the .NET Framework. It uses the following technologies:

  • Silverlight 4
  • Caliburn Micro
  • NHibernate & LINQ
  • Fluent NHibernate
  • Windows Communication Foundation
  • NServiceBus
  • WCF Data Services
  • Entity Framework 4
  • Parts of the NCQRS framework

Check out this slide deck for some background information about this demonstration project.


  • It requires Visual Studio 2010, the Silverlight 4 Tools, and the Silverlight Control Toolkit of April 2010
  • It uses NServiceBus to publish events from the event store to the query store, so you need to setup MSMQ properly by executing RunMeFirst.bat from the Tools\NServiceBus folder. Remember, you must run this script from a Command Prompt under Administrative privileges.
  • Run TheKitchen.Setup.exe from the SetupEnvironment project to create the two databases and the required MSMQ queues automatically.
  • To run the solution, you need to configure the following projects as startup projects:
    • TheKitchen.Client.Host (hosts the Silverlight 4 application)
    • TheKitchen.Commanding.Host (hosts the WCF command service)
    • TheKitchen.Querying.Core (hosts the NServiceBus event handler)
    • TheKitchen.Querying.Host (hosts the WCF Data Services query service)
  • The Querying.Core project runs by launching the NServiceBus self-hosting client, so you'll need to change the project's Debug tab so that it launches NServiceBus.Host.exe from the output location using startup parameter NServiceBus.Integration.

Background Information

  • Greg Young has been advocating CQRS and Event Sourcing for a while now and is an authority on CQRS. Find his blog here.
  • Udi Dahan a well known authority on distributed systems has shed his light on CQRS in Clarified CQRS.
  • Mark Nijhof has written some excellent posts on CQRS as well. Find them here.

Last edited Jan 7, 2011 at 7:13 PM by dennisdoomen, version 27