Discover how a bimodal integration strategy can address the major data management challenges facing your organization today.
Get the Report →Connect to MongoDB Data from Blazor Apps
Build ASP.NET Core Blazor C# apps that integrate with real-time MongoDB data using standard SQL.
Blazor is a framework for developing modern, client-side web UIs using .NET technology. Instead of coding in JavaScript, developers can use the familiar C# language and .NET libraries to build app UIs.
The CData ADO.NET Provider for MongoDB can be used with standard ADO.NET interfaces, such as LINQ and Entity Framework, to interact with live MongoDB data. Since Blazor supports .NET Core, developers can use CData ADO.NET Providers in Blazor apps. In this article, we will guide you to build a simple Blazor app that talks to MongoDB using standard SQL queries.
About MongoDB Data Integration
Accessing and integrating live data from MongoDB has never been easier with CData. Customers rely on CData connectivity to:
- Access data from MongoDB 2.6 and above, ensuring broad usability across various MongoDB versions.
- Easily manage unstructured data thanks to flexible NoSQL (learn more here: Leading-Edge Drivers for NoSQL Integration).
- Leverage feature advantages over other NoSQL drivers and realize functional benefits when working with MongoDB data (learn more here: A Feature Comparison of Drivers for NoSQL).
MongoDB's flexibility means that it can be used as a transactional, operational, or analytical database. That means CData customers use our solutions to integrate their business data with MongoDB or integrate their MongoDB data with their data warehouse (or both). Customers also leverage our live connectivity options to analyze and report on MongoDB directly from their preferred tools, like Power BI and Tableau.
For more details on MongoDB use case and how CData enhances your MongoDB experience, check out our blog post: The Top 10 Real-World MongoDB Use Cases You Should Know in 2024.
Getting Started
Install the CData ADO.NET Provider for MongoDB
CData ADO.NET Providers allow users to access MongoDB just like they would access SQL Server, using simple SQL queries.
Install the MongoDB ADO.NET Data Provider from the CData website or from NuGet. Search NuGet for "MongoDB ADO.NET Data Provider."
Create a MongoDB-Connected Blazor App
Start by creating a Blazor project that references the CData ADO.NET Provider for MongoDB
- Create a Blazor project on Visual Studio.
- From the Solution Explorer, right click Dependencies, then click Add Project Reference.
- In the Reference Manager, click the Browse button, and choose the .dll file of the installed ADO.NET Provider (e.g. System.Data.CData.MongoDB.dll, typically located at C:\Program Files\CData\CData ADO.NET Provider for MongoDB\lib etstandard2.0).
SELECT MongoDB Data from the Blazor App
- Open the Index.razor file from the Project page.
- In a MongoDBConnection object, set the connection string:
Set the Server, Database, User, and Password connection properties to connect to MongoDB. To access MongoDB collections as tables you can use automatic schema discovery or write your own schema definitions. Schemas are defined in .rsd files, which have a simple format. You can also execute free-form queries that are not tied to the schema.
For example: Server=MyServer;Port=27017;Database=test;User=test;Password=Password;
- The code below creates a simple Blazor app for displaying MongoDB data, using standard SQL to query MongoDB just like SQL Server.
@page "/" @using System.Data; @using System.Data.CData.MongoDB; <h1>Hello, world!</h1> Welcome to your Data app. <div class="row"> <div class="col-12"> @using (MongoDBConnection connection = new MongoDBConnection( "Server=MyServer;Port=27017;Database=test;User=test;Password=Password;")) { var sql = "SELECT borough, cuisine FROM restaurants"; var results = new DataTable(); MongoDBDataAdapter dataAdapter = new MongoDBDataAdapter(sql, connection); dataAdapter.Fill(results); <table class="table table-bordered"> <thead class="thead-light"> <tr> @foreach (DataColumn item in results.Rows[0].Table.Columns) { <th scope="col">@item.ColumnName</th> } </tr> </thead> <tbody> @foreach (DataRow row in results.Rows) { <tr> @foreach (var column in row.ItemArray) { <td>@column.ToString()</td> } </tr> } </tbody> </table> } </div> </div>
- Rebuild and run the project. The ADO.NET Provider renders MongoDB data as an HTML table in the Blazor app.
At this point, you have a MongoDB-connected Blazor app, capable of working with live MongoDB data just like you would work with a SQL Server instance. Download a free, 30-day trial and start working with live MongoDB data in your Blazor apps today.