This project has moved and is read-only. For the latest updates, please go here.
There are nine versions of the source code:
  1. Original source code that came with the book
  2. Source code updated to LLBL Pro version 2.6
  3. VS2008 branch in the repository (Visual Studio 2008/LLBL v2.6)
  4. VS2010 branch in the repository (Visual Studio 2010/LLBL v3.0)
  5. LLBL Pro v3.1 branch in the repository (Visual Studio 2010/LLBL v3.1)
  6. LLBL Pro v3.5 branch in the repository (Visual Studio 2010/LLBL v3.5)
  7. LLBL Pro v4.0 branch in the repository (Visual Studio 2012/LLBL v4.0)
  8. LLBL Pro v4.1 branch in the repository (Visual Studio 2013/LLBL v4.1)
  9. LLBL Pro v4.2 branch in the repository (Visual Studio 2015/LLBL v4.2)

The LLBL Pro v4.2 branch is the active one.

The repository code is downloadable from the source code tab in a zip file but I recommend using TortoiseSVN to get it, for instance use Pro v4.2 to get the LLBL Pro v4.2 branch only.
Solutions files in LLBL Pro v4.2 branch Contains projects needed for
AW.sln Joseph Chancellor’s worked example with tests
AW-NoTests.sln Joseph Chancellor’s worked example
AW.LINQPad.sln The LINQPad driver and Custom Visualizer with tests
AW.DebugVisualizers.sln Enumerable Debugger Visualizer
AW.DebugVisualizersWithTests.sln Enumerable Debugger Visualizer with tests
AW with Everything.sln Contains all the projects

How to use the book code
  1. Obtain a version of the source code
  2. Install the Adventure Works(2005) DB (if you don't already have it see the related project).
  3. Edit the app.config to point to your Adventure Works DB.
  4. Build AW.sln or AW-NoTests.sln (if using Visual studio you might get errors about solution bindings - ignore them).
  5. Run.
  6. Optionally install the Llblgen Pro trial to modify the entity classes or to see the Llblgen project file
Differences between the current code and the original
  • Upgrade to LLBLGen Pro 2.6, 3.0, 3.1, 3.5, 4.0, 4.1 and 4.2
  • Validation has been completely reworked and is now specified using System.ComponentModel.DataAnnotations.
  • Most of the queries have been moved to a query folder in AW.Data.
  • Some disabled code has been enabled.
  • Some refactoring.
  • Added inheritance to the LLBL project and hence the domain model (VS2010 and later).
Additions to the original
  • LINQ versions of the queries added.
  • A second order search form has been added which doesn't use any fields from CustomerViewRelated.
  • A form to edit the employee organization structure using a Databound TreeView control (FrmOrganizationStructure).
  • A query runner (poor man's version of LINQPad) using the C# Script Engine (AW.Winforms.Helpers - FrmQueryRunner).
  • A trace window to view the generated SQL (FrmTrace).
  • Added all the other Adventure Works tables to the domain model(VS2010 and later).


All third party dependencies are via nuget, except Advanced DataGridView and the Fast Colored TextBox for Syntax Highlighting which I needed to compile my self so as to be signed.



Thanks to Joseph Chancellor for writing the book and making the code available for this project

Last edited Jun 23, 2015 at 11:18 AM by JezzaT, version 19


No comments yet.