We may earn an affiliate commission when you visit our partners.
Julie Lerman

Data persistence is important to your application workflow even when focused on your domain. This course will guide you through using Entity Framework Core effectively to persist data from solutions designed using Domain-Driven Design concepts.

Read more

Data persistence is important to your application workflow even when focused on your domain. This course will guide you through using Entity Framework Core effectively to persist data from solutions designed using Domain-Driven Design concepts.

While DDD is focused on the domain, data persistence is still important to your application workflow and if you are using EF Core, it is important to understand how EF Core maps nicely designed domain models. In this course, EF Core and Domain-Driven Design, you’ll learn to persist tactical designs of DDD with EF Core. First, you’ll explore why persistence is relevant to DDD and get a walk through of analyzing a real-world domain. Next, you’ll discover how EF Core maps by default as well as how to help EF Core with mapping aggregates. Finally, you’ll learn how to organize data related logic using skills from DDD including sharing data across bounded contexts with APIs and messaging. When you’re finished with this course, you’ll have the skills and knowledge of EF Core needed to persist your lovely domain models.

Enroll now

What's inside

Syllabus

Course Overview
Understanding Where EF Core Fits Alongside DDD
Analyzing and Planning Our Domain
Exploring the Contract Bounded Context Solution
Read more
Adding the First EF Core DbContext
Tuning Default Mappings for the Data Model
Using Integration Tests to Validate Persistence
Reasoning About Many-to-Many Variations
Mapping Aggregates to Azure CosmosDB
Organizing Persistence Logic to Support DDD Design

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Examines Domain-Driven Design (DDD) principles and their application in data persistence using Entity Framework Core (EF Core)
Taught by Julie Lerman, a widely recognized expert in EF Core and DDD with multiple books and courses on these topics
Provides a comprehensive understanding of how to map DDD models effectively using EF Core
Develops key skills for developers working on domain-centric applications and data management
Covers the latest features and best practices in EF Core and DDD, ensuring learners are up-to-date with industry standards
Offers hands-on labs and interactive exercises to reinforce learning and practical application

Save this course

Save EF Core and Domain-Driven Design to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in EF Core and Domain-Driven Design with these activities:
Connect with Experienced Developers
Enhance your learning by seeking guidance from experienced developers in the field.
Show steps
  • Identify potential mentors in your network or online communities.
  • Reach out to mentors and request their guidance.
  • Engage in discussions and ask for feedback on your work.
Read Domain-Driven Design: Tackling Complexity in the Heart of Software
Gain a deeper understanding of DDD principles and their application in software development.
Show steps
  • Acquire a copy of the book.
  • Read and comprehend the key concepts of DDD.
  • Identify how DDD principles relate to data persistence.
Compile Course Resources
Organize and expand your understanding by compiling resources from the course.
Show steps
  • Gather lecture notes, assignments, and other course materials.
  • Review and organize the materials into a coherent collection.
  • Annotate and expand on the materials to enhance your understanding.
One other activity
Expand to see all activities and additional details
Show all four activities
Design a Sample Data Persistence Solution
Apply your knowledge of DDD and EF Core by creating a mock data persistence solution.
Browse courses on Data Persistence
Show steps
  • Identify a scenario that requires data persistence.
  • Design a DDD model for the scenario.
  • Map your DDD model to an EF Core data model.
  • Implement your persistence solution using EF Core.

Career center

Learners who complete EF Core and Domain-Driven Design will develop knowledge and skills that may be useful to these careers:
Database Engineer
Database Engineers design, implement, and manage databases. They must be able to understand the needs of the business to translate them into the language of data that the database will use. EF Core is widely used to interact with databases. This course will provide a deep dive into how to use EF Core to interact with databases and can help you in your job as a Database Engineer.
Data Architect
Data Architects create the big picture of how data is going to be organized and made accessible for use in an enterprise environment. This course will help build a foundation for implementing data organization patterns for large-scale solutions and maximizing the efficacy of persistence architecture.
Software Architect
Software architects design the high-level structure of software systems. They must be able to understand the business needs of the system, as well as the functional and non-functional requirements for the system. This course will help build a foundation for the persistence layer used in large-scale software systems.
Full Stack Engineer
Full Stack Engineers are responsible for the development of both the front-end and back-end of web applications. They need to have a strong understanding of both client-side and server-side technologies. This course will provide a deep dive into persistence with EF Core which is essential for web applications.
Data Scientist
Data Scientists use data to solve problems. They need to have a strong understanding of data analysis techniques, as well as the ability to communicate their findings to non-technical stakeholders. This course will help build a foundation for managing data for data science initiatives.
Data Analyst
Data analysts collect, clean, and analyze data to help businesses make informed decisions. They need to have a strong understanding of data analysis techniques, as well as the ability to communicate their findings to non-technical stakeholders. This course will help build a foundation for managing data using persistence patterns commonly used in data analysis.
Business Intelligence Analyst
Business Intelligence Analysts use data to help businesses make informed decisions. They need to have a strong understanding of business intelligence tools and techniques, as well as the ability to communicate their findings to non-technical stakeholders. This course will help build a foundation for data persistence and management of data used in business intelligence.
Application Architect
Application architects design the high-level structure of software applications. They must be able to understand the business needs of the application, as well as the functional and non-functional requirements for the application. This course will provide a deep dive into persistence layer for application architecture.
Software Developer
Software Developers design, develop, and test software applications. They need to have a strong understanding of programming languages and software development methodologies. This course will provide a deep dive into the persistence layer of software applications, which will aid in designing and developing more robust software applications.
Web Developer
Web Developers design, develop, and test web applications. They need to have a strong understanding of web development technologies and techniques. This course will provide a deep dive into the persistence layer used in web applications.
Quality Assurance Analyst
Quality Assurance Analysts test software applications to ensure that they meet the specified requirements. They need to have a strong understanding of software testing techniques, as well as the ability to communicate their findings to non-technical stakeholders. This course will provide a deep dive into using EF Core to test data persistence.
DevOps Engineer
DevOps Engineers are responsible for the deployment and maintenance of software applications. They need to have a strong understanding of both development and operations. This course will help build a foundation for the persistence layer in DevOps.
Cloud Engineer
Cloud Engineers design, deploy, and manage cloud computing infrastructure. They need to have a strong understanding of cloud computing technologies and techniques. This course may help you understand how EF Core interacts with cloud databases like Azure CosmosDB.
Data Engineer
Data Engineers design, build, and maintain data pipelines. They need to have a strong understanding of data engineering tools and techniques. This course may help you understand some of the persistence aspects of building data pipelines.
Machine Learning Engineer
Machine Learning Engineers design, develop, and deploy machine learning models. They need to have a strong understanding of machine learning algorithms and techniques. This course may help you understand how EF Core can be used to interact with databases and data pipelines that are often used in training machine learning models.

Reading list

We've selected ten books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in EF Core and Domain-Driven Design.
A classic book on software design that provides a catalog of design patterns that can be used to solve common problems in software development. It valuable resource for anyone who wants to improve the design of their software.
The go-to resource for learning EF Core. It provides a comprehensive overview of the framework, including its architecture, features, and best practices. It must-read for anyone who wants to use EF Core in their projects.
Provides the background and foundation for Domain-Driven Design. It valuable reference for understanding the core concepts of DDD as well as how DDD is applied in практике.
A comprehensive guide to designing and building data-intensive applications. It provides a deep understanding of the challenges and trade-offs involved in managing large amounts of data.
A highly influential book on software development that provides practical advice on how to write clean, maintainable, and extensible code. It must-read for anyone who wants to improve the quality of their code.
A comprehensive guide to software testing that provides a deep understanding of the principles and practices of testing. It must-read for anyone who wants to improve the quality of their software.
A concise and practical guide to Domain-Driven Design. It provides a clear and easy-to-understand overview of the key concepts of DDD.
An in-depth guide to implementing Domain-Driven Design in software systems. It provides practical advice on how to apply DDD principles to real-world projects with a focus on architecture, design, and implementation.
A comprehensive guide to the Common Language Runtime (CLR), the underlying platform for .NET applications. It provides a deep understanding of the CLR's architecture, features, and performance characteristics.

Share

Help others find this course page by sharing it with your friends and followers:
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser