The Fastest Data Access Library on NET

In the past, we have ADO.NET that use data reader and dataset that provides awesome performance in .NET era. Some of our customer uses ORM like XPO or Core Entity Framework that works just like ORM. f you're looking for a lightweight and high-performance ORM (Object-Relational Mapper) for your ASP.NET applications, Dapper is a fantastic choice. Known for its speed and simplicity, Dapper allows you to execute SQL queries and map the results to strongly typed objects with minimal overhead. In this blog post, we'll walk you through the steps to get started with Dapper in your ASP.NET project.

What is Dapper?

Dapper is a micro-ORM developed by the team at Stack Exchange. Unlike full-fledged ORMs like Entity Framework, Dapper focuses on providing a simple and efficient way to execute SQL queries and map the results to .NET objects. It's often regarded as one of the fastest ORMs available for .NET

Setting Up Your Project

  1. Create a New ASP.NET Project: Start by creating a new ASP.NET project in Visual Studio. You can choose either ASP.NET Core or ASP.NET MVC, depending on your preference.

  2. Install Dapper: You can install Dapper via NuGet Package Manager. Open the NuGet Package Manager Console and run the following command:

    shell
    Install-Package Dapper 
  3. Configure Your Database Connection: In your appsettings.json file, add your database connection string:

    json
    {"ConnectionStrings":{"DefaultConnection":"YourConnectionStringHere"}}
  4. Create a Database Context: Create a class to manage your database connection. This class will use IDbConnection from System.Data to establish a connection to your database.

    csharp
    usingSystem.Data; usingSystem.Data.SqlClient; usingMicrosoft.Extensions.Configuration; publicclassDapperContext{ privatereadonlyIConfiguration _configuration; privatereadonlystring_connectionString; public DapperContext(IConfiguration configuration){ _configuration = configuration; _connectionString = _configuration.GetConnectionString("DefaultConnection"); } public IDbConnection CreateConnection()=> newSqlConnection(_connectionString); } 

Performing CRUD Operations

Now that your project is set up, let's look at how to perform basic CRUD (Create, Read, Update, Delete) operations using Dapper.

  1. Create:

    csharp
    public async Task<int> AddUser(User user){ varsql = "INSERT INTO Users (Name, Email) VALUES (@Name, @Email)"; using(varconnection = _context.CreateConnection()) { returnawaitconnection.ExecuteAsync(sql, new{ user.Name, user.Email }); } } 
  2. Read:

    csharp
    publicasyncTask<IEnumerable<User>> GetUsers() { varsql = "SELECT * FROM Users"; using(varconnection = _context.CreateConnection()) { returnawaitconnection.QueryAsync<User>(sql); } } 
  3. Update:

    csharp
    public async Task<int> UpdateUser(User user){ varsql = "UPDATE Users SET Name = @Name, Email = @Email WHERE Id = @Id"; using(varconnection = _context.CreateConnection()) { returnawaitconnection.ExecuteAsync(sql, new{ user.Name, user.Email, user.Id }); } } 
  4. Delete:

    csharp
    public async Task<int> DeleteUser(int id){ varsql = "DELETE FROM Users WHERE Id = @Id"; using(varconnection = _context.CreateConnection()) { returnawaitconnection.ExecuteAsync(sql, new{ Id = id }); } } 

Conclusion

Dapper is a powerful tool for developers who need a fast and efficient way to interact with their databases in ASP.NET applications. By following the steps outlined in this blog post, you should be well on your way to leveraging Dapper's capabilities in your projects. 

Add comment

  Country flag

biuquote
  • Comment
  • Preview
Loading

Topics Highlights

About @ridife

This blog will be dedicated to integrate a knowledge between academic and industry need in the Software Engineering, DevOps, Cloud Computing and Microsoft 365 platform. Enjoy this blog and let's get in touch in any social media.

Xbox

Month List

Visitor