Aiursoft.DbTools 9.0.0

dotnet add package Aiursoft.DbTools --version 9.0.0                
NuGet\Install-Package Aiursoft.DbTools -Version 9.0.0                
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="Aiursoft.DbTools" Version="9.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Aiursoft.DbTools --version 9.0.0                
#r "nuget: Aiursoft.DbTools, 9.0.0"                
#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.
// Install Aiursoft.DbTools as a Cake Addin
#addin nuget:?package=Aiursoft.DbTools&version=9.0.0

// Install Aiursoft.DbTools as a Cake Tool
#tool nuget:?package=Aiursoft.DbTools&version=9.0.0                

DBTools

MIT licensed Pipeline stat Test Coverage NuGet version (Aiursoft.CSTools) ManHours

DbTools are Aiursoft's common database tools. It contains a lot of useful database tools for developers.

Installation

To install Aiursoft.DbTools to your project from nuget.org:

dotnet add package Aiursoft.DbTools

Usage

Easier to register DbContext:

SQLite

var services = new ServiceCollection();
services.AddAiurSqliteWithCache<MyDbContext>("Data Source=app.db");

var built = services.BuildServiceProvider();
var context = built.GetRequiredService<MyDbContext>();

SQL Server

var services = new ServiceCollection();
services.AddAiurSqlServerWithCache<MyDbContext>("Server=(localdb)\\mssqllocaldb;Database=DebugTrusted_Connection=True;MultipleActiveResultSets=true");

var built = services.BuildServiceProvider();
var context = built.GetRequiredService<MyDbContext>();

Easier to update database:

var hostBuilder = Host.CreateDefaultBuilder();
hostBuilder.ConfigureServices(services => 
    services.AddAiurSqliteWithCache<MyDbContext>(@"DataSource=app.db;Cache=Shared")
);
var host = hostBuilder.Build();

// Now update:
await host.UpdateDbAsync<MyDbContext>(UpdateMode.CreateThenUse);

Switchable database

Supports:

  • Sqlite
  • MySql
  • InMemory

First, install the package:

dotnet add package Aiursoft.DbTools.Switchable

In your appsettings.json:

{
  // Database.
  "ConnectionStrings": {
    "AllowCache": "True",
    "DbType": "Sqlite",
    "DefaultConnection": "DataSource=app.db;Cache=Shared"
  },
}

In your startup.cs:

var connectionString = configuration.GetConnectionString("DefaultConnection");
var dbType = configuration.GetSection("ConnectionStrings:DbType").Get<DbType>();
var allowCache = configuration.GetSection("ConnectionStrings:AllowCache").Get<bool>();
services.AddDatabase<MyDbContext>(connectionString, dbType, allowCache);

Tips

If your database project is different with your web project, you may need the following command to generate migrations:

cd ./DatabaseProject
dotnet ef migrations add MigrationName --context YourContext --output-dir Migrations --startup-project ../WebProject
dotnet ef database update --context YourContext

How to contribute

There are many ways to contribute to the project: logging bugs, submitting pull requests, reporting issues, and creating suggestions.

Even if you with push rights on the repository, you should create a personal fork and create feature branches there when you need them. This keeps the main repository clean and your workflow cruft out of sight.

We're also interested in your feedback on the future of this project. You can submit a suggestion or feature request through the issue tracker. To make this process more effective, we're asking that these include more information to help define them more clearly.

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (4)

Showing the top 4 NuGet packages that depend on Aiursoft.DbTools:

Package Downloads
Aiursoft.DbTools.SqlServer

A tool for database.

Aiursoft.DbTools.InMemory

A tool for database.

Aiursoft.DbTools.Sqlite

A tool for database.

Aiursoft.DbTools.MySql

A tool for database.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
9.0.0 101 12/30/2024
8.0.12 325 11/13/2024
8.0.11 374 10/9/2024
8.0.10 328 8/18/2024
8.0.9 298 7/10/2024
8.0.8 157 7/7/2024
8.0.7 154 6/29/2024
8.0.6 160 6/5/2024
8.0.5 211 5/16/2024
8.0.4 178 5/4/2024
8.0.3 324 3/17/2024
8.0.2 185 3/17/2024
8.0.1 278 2/25/2024
8.0.0 661 2/19/2024
7.0.19 339 2/14/2024
7.0.18 307 2/4/2024
7.0.17 303 2/2/2024
7.0.16 326 2/2/2024
7.0.15 315 1/30/2024
7.0.14 516 1/10/2024
7.0.13 419 1/4/2024
7.0.12 1,159 12/30/2023
7.0.11 425 12/24/2023
7.0.10 600 12/1/2023
7.0.9 633 11/26/2023
7.0.8 694 11/18/2023
7.0.7 540 11/12/2023
7.0.6 595 11/2/2023
7.0.5 488 11/2/2023
7.0.4 607 10/31/2023
7.0.3 503 10/27/2023
7.0.2 672 10/11/2023
7.0.1 794 9/13/2023
7.0.0 747 9/5/2023
6.0.32 646 8/4/2023
6.0.31 688 8/3/2023
6.0.30 663 7/11/2023
6.0.29 911 6/30/2023
6.0.28 731 6/29/2023
6.0.27 593 6/29/2023
6.0.26 653 6/29/2023
6.0.25 567 6/29/2023
6.0.24 676 6/28/2023
6.0.23 669 6/28/2023
6.0.22 870 6/18/2023
6.0.21 831 6/14/2023
6.0.20 807 6/5/2023
6.0.19 851 5/27/2023
6.0.18 796 5/27/2023
6.0.17 827 5/27/2023
6.0.16 780 5/27/2023
6.0.15 785 5/27/2023
6.0.14 811 5/27/2023
6.0.13 815 5/19/2023
6.0.12 826 5/19/2023
6.0.11 818 5/19/2023
6.0.10 823 5/19/2023
6.0.9 773 5/19/2023
6.0.8 814 5/11/2023
6.0.7 2,842 8/4/2022
6.0.6 1,411 7/6/2022
6.0.5 1,710 5/13/2022
6.0.0 1,503 3/27/2022
5.0.9 1,476 5/31/2021
5.0.8 1,350 5/23/2021
5.0.7 1,360 5/7/2021
5.0.6 1,393 4/14/2021
5.0.5 1,484 2/16/2021
5.0.4 1,463 1/29/2021
5.0.3 1,450 1/27/2021
5.0.2 1,545 12/9/2020
5.0.1 1,447 11/30/2020
5.0.0 1,362 11/14/2020
3.2.11 1,645 10/18/2020
3.2.10 1,534 10/3/2020
3.2.9 1,506 10/2/2020
3.2.8 1,582 9/10/2020
3.2.7 1,564 9/2/2020
3.2.6 1,594 8/12/2020
3.2.5 1,624 7/31/2020
3.2.4 1,654 7/3/2020
3.2.3 1,556 6/25/2020
3.2.2 1,583 6/18/2020
3.2.1 1,551 6/5/2020
3.2.0 1,654 6/4/2020
3.1.14 1,749 6/4/2020
3.1.13 1,765 5/25/2020
3.1.12 1,650 5/20/2020
3.1.11 1,628 5/18/2020
3.1.10 1,664 5/18/2020
3.1.9 1,633 5/17/2020
3.1.8 1,654 5/12/2020
3.1.7 1,701 5/2/2020
3.1.6 1,725 5/1/2020
3.1.5 1,724 4/21/2020
3.1.4 1,454 4/19/2020