What is ASP.NET Core MVC? What are the key features of ASP.NET Core MVC? What is the Model-View-Controller (MVC) design pattern? Explain the role of the Model in MVC. Explain the role of the View in MVC. Explain the role of the Controller in MVC. How is ASP.NET Core MVC different from ASP.NET MVC? What is the Startup.cs file, and how is it used in ASP.NET Core MVC? How do you configure middleware in ASP.NET Core MVC? What is routing in ASP.NET Core MVC? What is the difference between conventional routing and attribute routing? How do you define a route in ASP.NET Core MVC? How do you use route constraints in ASP.NET Core MVC? What is a strongly typed View? How do you pass data from a Controller to a View? What is ViewData, and how is it used? What is ViewBag, and how is it used? What is TempData, and how is it different from ViewBag and ViewData?