This repository contains the example project demonstrated in the EF Core session for the PÓS TECH audience at FIAP. This simple banking application showcases the use of EF Core in a .NET 8 environment for handling banking operations like credit and debit transactions using PIX keys. The primary focus of this project is to demonstrate various EF Core features and best practices.
What you'll need:
- .NET 8 SDK
- Docker 🐳
- Grouping EF Core's configuration
IEntityTypeConfiguration<T>
to map complex domains into database tables. - Implementing Shadow Properties for database-specific requirements that do not directly map to the domain.
- Mapping value objects and enumeration classes to primitive data columns using EF Core converters.
- Using EF Core Interceptors to modify control properties in the database.
- Creating an
IPipelineBehavior<TRequest, TResponse>
with MediatR to ensure commands are executed within a database transaction. - Techniques for querying Shadow Properties.
- Integrating EF Core with Testcontainers library to create robust integration tests with independent databases without altering the EF Core Database Provider.
This project is licensed under the MIT License.
Special thanks to Thiago da Silva Adriano and Douglas Gomes for their trust and opportunity to share this knowledge. Also, thank you to everyone who attended the live session and contributed to the discussion.
Feel free to open an issue or a pull request.