Goal: Continue your practice with many-to-many relationships by refactoring an old project.
Warm Up
- Practice making join statements with your partner.
- What is the difference between a join ENTITY and a join TABLE?
- What information do you need to know to make a join entity?
- How is the LINQ query from a join ENTITY returned?
- How do join entities make our lives easier?
Code
Choose between the two prompts below and work on solidifying your skills with many-to-many relationships in a multi-day project. This is an opportunity to build out a polished site, and explore implementation of EF Core functionality that is not covered by the curriculum.
Project Refactor
Revisit an old project with a one-to-many relationship and refactor it to have a many-to-many relationship. Consider the impact this may have on routing, and how your models and controllers will need to change to handle this new functionality.
Design Your Own
Build a new project that includes a many-to-many relationship with full CRUD. Make sure to write user stories to guide your development before beginning to code.
Peer Code Review
- Do database tables and columns follow proper naming conventions?
- Do you have thorough test coverage with passing tests?
- Did you write the test methods and make them pass before starting on routes for each class?
- Does one of your classes have all CRUD methods implemented in your app? That includes: Create, Read (all and singular) Update and Delete (all and singular).
- Are you able to view both sides of the many-many relationship? For a particular instance of a class, are you able to view all of the instances of the other class that are related to it? And vice versa?
- Is the many-to-many relationship set up correctly in the database?