Single-class MySQL helper for .NET with ADO.NET, EF Core, async streaming, pagination, logging, bulk insert/upsert, and transactions.
$ dotnet add package MySqlCoreSingle-class MySQL helper library for .NET that provides ADO.NET and EF Core CRUD operations, async streaming, pagination, bulk insert/upsert, transactions, and logging.
Install via NuGet Package Manager:
Install-Package MySqlCore -Version 1.0.0
Or using .NET CLI:
dotnet add package MySqlCore --version 1.0.0
using System.Data.Common;
using MySql.Data.MySqlClient;
using MySqlHelper;
var conn = new MySqlConnection("your_connection_string");
await conn.OpenAsync();
// Insert
await MySqlHelper.InsertAsync(conn, "Users", new User { Id = 1, Name = "John" });
// Select
var users = await MySqlHelper.SelectAsync<User>(conn, "Users", "Id = 1");
// Update
await MySqlHelper.UpdateAsync(conn, "Users", new User { Id = 1, Name = "Jane" }, "Id");
// Delete
await MySqlHelper.DeleteAsync(conn, "Users", "Id", 1);
using Microsoft.EntityFrameworkCore;
using MySqlHelper;
var context = new AppDbContext();
// Insert
await MySqlHelper.InsertEFAsync(context, new User { Name = "John" });
// Query
var allUsers = MySqlHelper.QueryEF<User>(context).ToList();
// Update
await MySqlHelper.UpdateEFAsync(context, user);
// Delete
await MySqlHelper.DeleteEFAsync(context, user);
await MySqlHelper.RunTransactionAsync(conn, async tx => {
await MySqlHelper.InsertAsync(conn, "Users", new User { Id = 2, Name = "Alice" });
await MySqlHelper.UpdateAsync(conn, "Users", new User { Id = 2, Name = "Bob" }, "Id");
});
MySqlHelper.QueryLogger = async sql => {
Console.WriteLine($"Executing SQL: {sql}");
};
MIT License. See LICENSE for more information.