Enterprise Software Engineering with C# and .NET: Architecture, Design Patterns, and AI-Enabled Systems · HIT

Week 5   Part III · Architecture and Patterns   🎤 Student Project Presentation 1 · Proposal

Proposal Presentations and EF Core

Instructor lesson plan: lecture (2 h) and practice (2 h).

Learning objectives

Tools this week

Entity Framework CoreSQL Server / PostgreSQLmigrationsproposal rubric

🎓Lecture · 2 hours

0:00-0:1010 minProposal readiness checkReview what students must defend in the presentation slot.
0:10-0:3525 minDbContext and entity mapping
  • DbContext as unit of database interaction.
  • Entity configuration, keys, relationships, owned types.
0:35-1:0025 minMigrations and schema evolution
  • Creating migrations, reviewing generated SQL, applying changes.
  • Why database shape is an architectural artifact.
1:00-1:1010 minQueries and loadingTracking, no-tracking, includes, projection, and avoiding accidental over-fetching.
1:10-1:2010 minBreak
1:20-1:4525 minPersistence boundaries
  • Why EF entities should not leak into API contracts.
  • Repository pattern preview and tradeoffs.
1:45-2:0015 minPresentation logisticsTiming, questions, tagged release, and written proposal note.
Common misconception to confront.

Students often think: EF Core removes the need to understand relational design.
Set it straight: EF Core automates mapping. The team still owns keys, relationships, constraints, indexes, and query cost.

Check for understanding
Why review generated migration SQL?
Because the migration changes the real database contract. A generated operation can drop data, miss an index, or encode the wrong relationship.
Why project query results into DTOs?
Projection limits data shape, avoids exposing persistence objects, and often produces better queries.
Key takeaways.

📚Reading & resources

🎤Student Project Presentation · 2 hours

The full practice slot is given to Student Project Presentation 1 · Proposal. Teams present and defend the chosen domain, use cases, initial domain model, planned architecture, planned database entities, technical risks, and development plan.

What each team presents.

Project integration (this week)

PreviousWeek 4: ASP.NET Core Web APINextWeek 6: Layered Architecture