Difference Between ASP.NET MVC And ASP.NET Core

We love to develop websites and web applications. When we create an enterprise application, we often choose ASP.NET MVC over ASP.NET Core. Here are the basic differences: 
ASP.NET framework is a highly testable and powerful framework. It's a web form based framework. You can create applications in ASP.NET (.aspx) or Razor page. MVC has three major parts - Model, View and Controller.
  • Model 
    Model represents the data business logic layer. It maintains the data in the whole application. Model object retrieves and stores data in the application.

  • View 
    View is a user interface (what we see on a website and application). View displays the data using Model and user input, and also modifies that data.

  • Controller 
    Controller handles all the user requests and processes using Model and display View part. It provides control over the user requests, URL path change (Routing), and many other operational controls.
ASP.NET MVC gives you a pattern-based way to develop dynamic websites and applications. It has many features and powerful tools. You can learn MVC and easily working with Routing, UI, Layout, Theme, data, API, and others.
ASP.NET MVC isn't open source. It's controlled and developed by Microsoft.  
ASP.NET Core is a "learn and compose" based framework to develop an application. It mainly focuses on fully open source and ASP.NET Core available on Github. You can develop  ASP.NET Core easily.
ASP.NET Core also focuses on another region. It's cross platform, which means you can use it on Windows, Mac or Linux. The previous version ASP.NET MVC was not cross-platform and worked only on Windows.