diff --git a/blazor/common/migration/core-mvc-to-blazor.md b/blazor/common/migration/core-mvc-to-blazor.md
new file mode 100644
index 0000000000..420d2ef83f
--- /dev/null
+++ b/blazor/common/migration/core-mvc-to-blazor.md
@@ -0,0 +1,582 @@
+---
+layout: post
+title: Migrating ASP.NET Core MVC to Blazor | Syncfusion
+description: Learn how to migrate ASP.NET Core MVC controls to Blazor components, including key concepts and a detailed migration approach.
+platform: Blazor
+control: Common
+documentation: ug
+---
+
+# Migrating ASP.NET Core MVC Controls to Blazor
+
+Migrating enterprise applications from [ASP.NET Core MVC](https://learn.microsoft.com/en-us/aspnet/core/mvc/overview?view=aspnetcore-10.0) to [Blazor](https://learn.microsoft.com/en-us/aspnet/core/blazor/?view=aspnetcore-10.0) represents a transition from a controller driven, request response framework to a modern, component based web UI model built on .NET. This guide provides a **structured, step-by-step migration path** for [ASP.NET Core MVC controls](https://www.syncfusion.com/aspnet-mvc-ui-controls) to their [Blazor equivalents](https://www.syncfusion.com/blazor-components).
+
+## Why migrate from ASP.NET Core MVC to Blazor?
+
+ASP.NET Core MVC applications follow a **request response** model, where user requests are handled by controllers and rendered using views. UI updates often require full page reloads or additional techniques such as **partial views** or **AJAX**, which can increase complexity as applications become more interactive.
+
+Blazor introduces a **component based**, **event-driven UI model**, where user interactions trigger updates directly within components rather than full page reloads. It enables reusable UI components and aligns closely with modern .NET development practices.
+
+| Aspect | ASP.NET Core MVC | Blazor |
+| --- | --- | --- |
+| Execution model | Stateless request response | Blazor Web App (Server / WebAssembly / Auto render modes) |
+| UI technology | Razor Views (`.cshtml`) with HTML and Tag Helpers | Razor components (`.razor`) with HTML and C# |
+| UI definition | Views and partial views | Component based UI structure |
+| Code structure | Controllers and ViewModels | `@code {}` block or `.razor.cs` file |
+| Lifecycle model | Request based (per HTTP request) | Component lifecycle (`OnInitialized`, `OnParametersSet`, `OnAfterRender`, `Dispose`) |
+| State management | stateless and session based options | Component state, cascading parameters, and DI services |
+| User interaction | Full page reload or AJAX callback | Event driven UI updates |
+| Event handling | Form post and AJAX | `EventCallback` and delegates |
+| Dependency injection | Built-in (controller centric) | Built-in (component centric) |
+| Routing and navigation | Controller based routing | SPA style routing using `@page` |
+| Scalability | Limited by concurrent requests and vertical scaling typical | Server: scales to concurrent SignalR connections. WebAssembly: client-side execution eliminates server load |
+| Application updates | Requires redeployment | Blazor Server: Instant updates. WebAssembly: Requires refresh |
+
+## Development Environment Setup
+
+### Prerequisites
+
+* [.NET 8 SDK or later](https://dotnet.microsoft.com/en-us/download/dotnet)
+* [Visual Studio](https://visualstudio.microsoft.com/downloads/) 2022 or later, or [Visual Studio Code](https://code.visualstudio.com/) with [C# Dev Kit](https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csdevkit) extension
+
+Verify installation using the following .NET CLI command, and ensure the .NET version is 8.0.0 or later.
+
+{% tabs %}
+{% highlight bash tabtitle=".NET CLI" %}
+
+dotnet --version
+dotnet --info
+
+{% endhighlight %}
+{% endtabs %}
+
+### Project structure comparison
+
+The following table maps common **ASP.NET Core MVC application artifacts** to their **Blazor equivalents**, highlighting how application structure transitions from a request driven model to a component based architecture.
+
+| Concept | ASP.NET Core MVC artifact | Blazor equivalent |
+| -----| ------ | ----- |
+| UI definition | Razor Views (`Views/*.cshtml`) | Razor components (`Pages/*.razor`) |
+| Request handling logic | `Controllers/*.cs` | Component code (`@code {}` or `.razor.cs`) |
+| Application startup | `Program.cs` (MVC middleware) | `Program.cs` (Blazor hosting & services) |
+| Layout | `_Layout.cshtml` | `MainLayout.razor` |
+| Reusable UI | Partial Views | Razor components |
+| Static assets | `wwwroot` | `wwwroot` |
+| State handling | TempData / ViewData / Session | Component state, cascading values, DI services |
+| Routing | `MapControllerRoute`, attributes | `@page` directive |
+| Business & data layer | Models, Services, Repositories | Reused via dependency injection |
+
+N> Existing domain models, data access layers, and business services can typically be reused in Blazor applications. However, code tightly coupled to MVC features such as controllers, HttpContext, or TempData.
+
+## Creating a Blazor project
+
+### Creating a Blazor Web App with Interactive Server
+
+For ASP.NET Core MVC migrations, create a **Blazor Web App with Interactive Server** option, which runs server-side and preserves the familiar server hosted execution model with real time interactivity via SignalR.
+
+{% tabs %}
+{% highlight bash tabtitle=".NET CLI" %}
+
+dotnet new blazor -n MyBlazorApp --interactivity Server
+cd MyBlazorApp
+
+{% endhighlight %}
+{% endtabs %}
+
+N> The `--interactivity Server` flag configures SignalR based interactivity providing immediate UI updates.
+
+## Migrating Components from ASP.NET Core MVC to Blazor
+
+The following shared setup applies to all components and covers the common configuration required before proceeding to the [component specific migration steps](#add-syncfusion-datagrid-component).
+
+### Package installation
+
+In ASP.NET Core MVC, controls are typically installed using a single combined package, such as [Syncfusion.EJ2.AspNet.Core](https://www.nuget.org/packages/Syncfusion.EJ2.AspNet.Core).
+
+In Blazor applications, components are available as individual NuGet packages as well as a complete package [Syncfusion.Blazor](https://www.nuget.org/packages/Syncfusion.Blazor). The individual packages are organized based on component usage and namespace, allowing you to install only the components required for your application. The combined `Syncfusion.Blazor` package is also available and continues to be supported (not deprecated). However, for better performance and optimized application size, it is recommended to use individual component packages whenever possible.
+
+To explore the complete list of Blazor component packages, refer to [Blazor NuGet packages](https://blazor.syncfusion.com/documentation/nuget-packages).
+
+Additionally, install the following package for styling support [Syncfusion.Blazor.Themes](https://www.nuget.org/packages/Syncfusion.Blazor.Themes).
+
+N> Install `Syncfusion.Blazor.Themes` once at the application level. This package is required for the Blazor components used in this migration guide.
+
+### Service registration
+
+In ASP.NET Core MVC, UI components are rendered as part of the view, and additional scripts and styles are included manually. There is no DI-based registration model specifically for UI components.
+
+In Blazor, components rely on the built-in dependency injection (DI) system. UI libraries like Syncfusion must be registered in the service container so that required services (such as rendering, localization, and JavaScript interop) are available to components.
+
+In the `Program.cs` file, add the Blazor namespace and register services.
+
+{% tabs %}
+{% highlight c# tabtitle="Program.cs" %}
+
+using Syncfusion.Blazor;
+...
+var builder = WebApplication.CreateBuilder(args);
+builder.Services.AddRazorComponents()
+ .AddInteractiveServerComponents();
+builder.Services.AddSyncfusionBlazor(); // Register Syncfusion services
+var app = builder.Build();
+...
+
+{% endhighlight %}
+{% endtabs %}
+
+### Add import namespaces
+
+In ASP.NET Core MVC, namespaces are imported into Razor views using `~/_ViewImports.cshtml`, primarily to enable Tag Helpers and HTML helper extensions.
+
+Add the required namespace in `~/_ViewImports.cshtml`.
+
+{% tabs %}
+{% highlight cshtml tabtitle="~/_ViewImports.cshtml" %}
+
+@using WebApplication1
+@using WebApplication1.Models
+@using Syncfusion.EJ2
+@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
+
+{% endhighlight %}
+{% endtabs %}
+
+In Blazor, `~/_Imports.razor` serves a similar purpose but applies to Razor components. It allows components to access namespaces globally without requiring repeated `@using` statements in each `.razor` file.
+
+Import the required required namespaces in the `~/_Imports.razor` file.
+
+| Component | Required namespaces |
+|---|---|
+| DataGrid | `@using Syncfusion.Blazor` `@using Syncfusion.Blazor.Grids` |
+| Scheduler | `@using Syncfusion.Blazor` `@using Syncfusion.Blazor.Schedule` |
+| RichTextEditor | `@using Syncfusion.Blazor` `@using Syncfusion.Blazor.RichTextEditor` |
+
+### Theme and script configuration
+
+In ASP.NET Core MVC, scripts and styles are manually referenced in the shared layout (`_Layout.cshtml`). In addition, controls require the `@Html.EJS().ScriptManager()` helper, which initializes the required JavaScript controls at runtime.
+
+In Blazor, scripts and styles are included once at the application level (such as in `App.razor` file) and are served from static web assets. This approach ensures consistent styling and avoids duplicate references across pages.
+
+**ASP.NET Core MVC approach**
+
+{% tabs %}
+{% highlight html tabtitle="_Layout.cshtml" %}
+
+
+ ...
+
+
+
+
+
+
+{% endhighlight %}
+{% endtabs %}
+
+Also, register the script manager `EJS().ScriptManager()` at the end of `` in the `~/Views/Shared/_Layout.cshtml` file as follows.
+
+{% tabs %}
+{% highlight cshtml tabtitle="~/_Layout.cshtml" %}
+
+
+ ...
+
+ @Html.EJS().ScriptManager()
+
+
+{% endhighlight %}
+{% endtabs %}
+
+**Blazor equivalent**
+
+{% tabs %}
+{% highlight razor tabtitle="App.razor" %}
+
+
+ ...
+
+
+ ...
+
+
+ ...
+
+
+ ...
+
+
+{% endhighlight %}
+{% endtabs %}
+
+### Add DataGrid component
+
+For detailed explanation, refer to the [Blazor DataGrid getting started guide](https://blazor.syncfusion.com/documentation/datagrid/getting-started-with-server-app) and [ASP.NET Core MVC DataGrid getting started guide](https://ej2.syncfusion.com/aspnetmvc/documentation/grid/getting-started-mvc).
+
+| Aspect | MVC (`Grid` - ASP.NET Core wrappers) | Blazor (`SfGrid / SfGrid`) |
+| -------- | --------- | ---------- |
+| Package (NuGet) | [Syncfusion.EJ2.AspNet.Core](https://www.nuget.org/packages/Syncfusion.EJ2.AspNet.Core/) | [Syncfusion.Blazor.Grid](https://www.nuget.org/packages/Syncfusion.Blazor.Grid) |
+| Namespace | Views: Tag Helpers / HTML Helpers (`@addTagHelper`, `@using`) | Razor: `@using Syncfusion.Blazor.Grids` |
+| Component declaration | HTML Helper (`@Html.EJS().Grid()`) | Razor component (``) |
+| Data binding | Model / ViewBag / DataManager | Bound to component property (`DataSource="@..."`) |
+| Collection type | Server-side models (`IEnumerable`, ViewModel) | `List<>` / `IEnumerable<>` |
+| Events & interactions | JavaScript based client events | `EventCallback` and async handlers |
+| UI refresh | Client-side rendering | Automatic (component re-rendering) |
+| Columns | Defined using (`.Columns(col => { ... })`) | `` |
+| Editing & API | [EditSettings](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Grids.Grid.html#Syncfusion_EJ2_Grids_Grid_EditSettings) | [EditSettings](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Grids.SfGrid-1.html#Syncfusion_Blazor_Grids_SfGrid_1_EditSettings), [GridEvents](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Grids.GridEvents-1.html), `@ref` async APIs |
+| Theming & assets | Scripts and styles in `_Layout.cshtml` | Static web assets via `_content`, service registration (`AddSyncfusionBlazor`) |
+| Paging / virtualization |[AllowPaging](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Grids.Grid.html#Syncfusion_EJ2_Grids_Grid_AllowPaging), [PageSettings](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Grids.Grid.html#Syncfusion_EJ2_Grids_Grid_PageSettings), [EnableVirtualization](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Grids.Grid.html#Syncfusion_EJ2_Grids_Grid_EnableVirtualization) | [AllowPaging](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Grids.SfGrid-1.html#Syncfusion_Blazor_Grids_SfGrid_1_AllowPaging), [PageSettings](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Grids.SfGrid-1.html#Syncfusion_Blazor_Grids_SfGrid_1_PageSettings), [EnableVirtualization](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Grids.SfGrid-1.html#Syncfusion_Blazor_Grids_SfGrid_1_EnableVirtualization) |
+| Filtering | [AllowFiltering](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Grids.Grid.html#Syncfusion_EJ2_Grids_Grid_AllowFiltering) | [AllowFiltering](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Grids.SfGrid-1.html#Syncfusion_Blazor_Grids_SfGrid_1_AllowFiltering) |
+| Grouping | [AllowGrouping](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Grids.Grid.html#Syncfusion_EJ2_Grids_Grid_AllowGrouping), [GroupSettings](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Grids.Grid.html#Syncfusion_EJ2_Grids_Grid_GroupSettings) | [AllowGrouping](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Grids.SfGrid-1.html#Syncfusion_Blazor_Grids_SfGrid_1_AllowGrouping), [GroupSettings](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Grids.SfGrid-1.html#Syncfusion_Blazor_Grids_SfGrid_1_GroupSettings) |
+| Lifecycle & refs | Controller actions, model binding, HTTP lifecycle | `OnInitialized[Async]`, DI, `@ref`, component lifecycle |
+
+In ASP.NET Core MVC, the Grid is defined using HTML Helper APIs, where [Columns](https://help.syncfusion.com/cr/aspnetmvc-js2/Syncfusion.EJ2.Grids.Grid.html#Syncfusion_EJ2_Grids_Grid_Columns) configured through property during component initialization.
+
+In Blazor, the DataGrid component is defined in Razor markup, and its structure is built using declarative [Columns](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Grids.SfGrid-1.html#Syncfusion_Blazor_Grids_SfGrid_1_Columns) while binding to data through the [DataSource](https://help.syncfusion.com/cr/blazor/Syncfusion.Blazor.Grids.SfGrid-1.html#Syncfusion_Blazor_Grids_SfGrid_1_DataSource) property.
+
+**MVC approach**
+
+{% tabs %}
+{% highlight cshtml %}
+
+@(Html.EJS().Grid("Grid").DataSource((IEnumerable