Exploring EF Core Support for DDD Patterns

Julie Lerman 1-Day Workshop
Tue, Sept 11

Entity Framework half-heartedly supported DDD patterns. But the new-from-scratch EF Core has brought new hope for DDD practitioners to be able to map their DDD designed domain classes to a database without making so many concessions that a separate data model was needed. EF Core 2 is very DDD friendly even supporting things like fully encapsulated collections, backing fields and the return of support for value objects. In this hands on workshop you’ll work with well-designed aggregates and explore how far EF Core 2 goes to act as the data model between your domain classes and your data store.

The target audience for this workshop is software developers and software architects who are building systems with .NET. Attendees should have experience with Entity Framework although EF Core experience is not necessary. Attendees should also be proficient with either Visual Studio 2017 or with Visual Studio Code and the .NET Core CLI. All code samples will be in C#.

Each section of the workshop will involve improving the sample domain model with a DDD tactical pattern, followed by implementing the EF Core mapping for the target pattern to an existing solution and then testing it out.

  • Learn about scenarios where you can use EF Core as means to map your domain model to your data store.
  • Get hands on experience applying EF Core mappings to let EF Core map your domain model to a database.
  • Learn to recognize and solve problems you may run into when mappings are not applied correctly.
  • Identify patterns that EF Core does not have sufficient mappings, requiring either a workaround or adding a data model to the mix.
  • Developers new to DDD will learn about domain modeling patterns that can help them solve complex problems in their software design.


  • C#, Entity Framework experience
  • Either Visual Studio 2017 or VS Code (Windows/macOs/Linux)
  • Will provide code to work from via GitHub
  • Requires .NET Core SDK (latest version)to be installed