Handling many-to-many relationships using Entity Framework with Code-First approach has been a little challanging for me in the past. I do not recall properly but most was due to having CRUD operations on the child collection objects. Also, due to EF abstraction in the Core-First approach, handling data directly in the database in a traditional way becomes a bit difficult.
A Closure in its simplest term is an Inner Function (function within a function) that has access to its variables and the Outer Function’s variables. Closures (the inner function) will still have access to the outer function’s variables even when the outer function returns. So, we can store the inner function in a variable and execute it later in time and still have access to the outer function’s variables. Closure do not actually hold the outer function’s variables instead it holds the references. So, if the outer function’s variable’s values changes so will values for the Closure when it executes.
Someday, there will rise a need to develop APIs that can be comsumed by multiple clients i.e. cross-domain requests; for example, APIs to be consumed by browser-based client applications e.g. Chrome Extension or an Angular app.