What problem does it solve? Learners who built a basic ASP.NET Core todo API with an in-memory store lose all data on every restart and have never touched a real database, ORM, or migration workflow. This Skill guides a mentor-led, five-phase build that swaps the in-memory TodoStore for Entity Framework Core with SQLite so data persists across restarts. ## Core Features & Use Cases - DbContext and DI setup: Install EF Core SQLite packages, create a TodoDbContext, and register it with scoped lifetime, contrasting it with the previous singleton registration. - Real async/await and LINQ-to-EF: Rewrite controller endpoints to use ToListAsync, FindAsync, and SaveChangesAsync, explaining change tracking and batching. - Code-first migrations: Generate and apply an InitialCreate migration, then evolve the schema with a second migration that adds a nullable Description column without losing data. - Use Case: A learner finishes the cad-todo-api project and wants to learn ORMs hands-on; the mentor follows this recipe to add EF Core, run dotnet ef migrations, and prove persistence by restarting the app and seeing the data survive. ## Quick Start Ask the mentor to start the cad-todo-api-ef project to convert my existing todo API to use Entity Framework Core with a SQLite database.