AnointedAutomation.Repository.MySql
0.0.1
dotnet add package AnointedAutomation.Repository.MySql --version 0.0.1
NuGet\Install-Package AnointedAutomation.Repository.MySql -Version 0.0.1
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="AnointedAutomation.Repository.MySql" Version="0.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="AnointedAutomation.Repository.MySql" Version="0.0.1" />
<PackageReference Include="AnointedAutomation.Repository.MySql" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add AnointedAutomation.Repository.MySql --version 0.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: AnointedAutomation.Repository.MySql, 0.0.1"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package AnointedAutomation.Repository.MySql@0.0.1
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=AnointedAutomation.Repository.MySql&version=0.0.1
#tool nuget:?package=AnointedAutomation.Repository.MySql&version=0.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
AnointedAutomation.Repository.MySql
Generic MySQL repository library using Entity Framework Core. Provides a consistent interface for database operations, mirroring the patterns established in AnointedAutomation.Repository.Mongo.
Features
- Generic CRUD operations via
IGenericRepository<T> - Connection pooling via
MySqlHelperFactorywithConcurrentDictionarycaching - Async/await pattern throughout
- Integration with
AnointedAutomation.Logging - Fail-fast on missing configuration (no fallback values)
Installation
dotnet add package AnointedAutomation.Repository.MySql
Usage
Basic Setup
// Create factory (singleton recommended)
IMySqlHelperFactory factory = new MySqlHelperFactory();
// Get or create a MySQL helper instance
string connectionString = "Server=localhost;Database=mydb;User=root;Password=pass;";
IMySqlHelper helper = factory.Create(connectionString);
// Use generic repository
IGenericRepository<User> userRepo = new GenericRepository<User>(helper.Database);
User user = await userRepo.GetByIdAsync(1);
With Dependency Injection
// In Program.cs
services.AddSingleton<IMySqlHelperFactory, MySqlHelperFactory>();
services.AddScoped<IMySqlHelper>(sp =>
{
IMySqlHelperFactory factory = sp.GetRequiredService<IMySqlHelperFactory>();
string connectionString = Environment.GetEnvironmentVariable("MYSQL_CONNECTION_STRING");
return factory.Create(connectionString);
});
services.AddScoped(typeof(IGenericRepository<>), typeof(GenericRepository<>));
Generic Repository Operations
// Create
User newUser = await userRepo.AddAsync(new User { Name = "John" });
// Read
User user = await userRepo.GetByIdAsync(1);
IEnumerable<User> allUsers = await userRepo.GetAllAsync();
IEnumerable<User> admins = await userRepo.FindAsync(u => u.Role == "admin");
// Update
user.Name = "Jane";
await userRepo.UpdateAsync(user);
// Delete
await userRepo.DeleteAsync(1);
// Utility
bool exists = await userRepo.ExistsAsync(u => u.Email == "test@example.com");
int count = await userRepo.CountAsync(u => u.IsActive);
License
MIT License - See LICENSE file for details.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- AnointedAutomation.Logging (>= 0.0.8)
- Microsoft.EntityFrameworkCore (>= 8.0.11)
- Pomelo.EntityFrameworkCore.MySql (>= 8.0.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.0.1 | 44 | 2/19/2026 |