SquidStd.Database.Abstractions 0.7.0

dotnet add package SquidStd.Database.Abstractions --version 0.7.0
                    
NuGet\Install-Package SquidStd.Database.Abstractions -Version 0.7.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="SquidStd.Database.Abstractions" Version="0.7.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SquidStd.Database.Abstractions" Version="0.7.0" />
                    
Directory.Packages.props
<PackageReference Include="SquidStd.Database.Abstractions" />
                    
Project file
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 SquidStd.Database.Abstractions --version 0.7.0
                    
#r "nuget: SquidStd.Database.Abstractions, 0.7.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.
#:package SquidStd.Database.Abstractions@0.7.0
                    
#: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=SquidStd.Database.Abstractions&version=0.7.0
                    
Install as a Cake Addin
#tool nuget:?package=SquidStd.Database.Abstractions&version=0.7.0
                    
Install as a Cake Tool

<p align="center"> <img src="https://raw.githubusercontent.com/tgiachi/squid-std/main/assets/icon.png" alt="SquidStd" width="120" height="120" /> </p>

<h1 align="center">SquidStd.Database.Abstractions</h1>

<p align="center"> <a href="https://www.nuget.org/packages/SquidStd.Database.Abstractions/"><img src="https://img.shields.io/nuget/v/SquidStd.Database.Abstractions.svg" alt="NuGet" /></a> <img src="https://img.shields.io/nuget/dt/SquidStd.Database.Abstractions.svg" alt="Downloads" /> <a href="https://tgiachi.github.io/squid-std/articles/database-abstractions.html"><img src="https://img.shields.io/badge/docs-DocFX-1390A3.svg" alt="docs" /></a> <img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="license" /> </p>

Provider-agnostic data-access contracts for SquidStd. Entities derive from BaseEntity (a Guid id plus UTC timestamps) and are accessed through the generic IDataAccess<TEntity> — full CRUD, bulk operations, paging, and composable queries — without binding to any specific ORM.

Install

dotnet add package SquidStd.Database.Abstractions

Features

  • IDataAccess<TEntity>InsertAsync, GetByIdAsync, UpdateAsync, DeleteAsync, CountAsync, ExistsAsync, bulk insert/update/delete, QueryAsync, and GetPagedAsync.
  • BaseEntityGuid Id plus DateTimeOffset Created / Updated (UTC), set by the data layer.
  • PagedResultData<T> — items + Page, PageSize, TotalCount, TotalPages, HasNext, HasPrevious.
  • DatabaseConfig — URI connection string + AutoMigrate flag.
  • DatabaseProviderTypeSqlite, Postgres, SqlServer, MySql.

Usage

using SquidStd.Database.Abstractions.Data.Entities;
using SquidStd.Database.Abstractions.Interfaces.Data;

public sealed class User : BaseEntity
{
    public string Name { get; set; } = string.Empty;
}

// IDataAccess<User> is resolved from DI (see the SquidStd.Database package).
public async Task ExampleAsync(IDataAccess<User> users)
{
    await users.InsertAsync(new User { Name = "Ann" });
    var page = await users.GetPagedAsync(page: 1, pageSize: 20, orderBy: u => u.Name);
}

Key types

Type Purpose
IDataAccess<TEntity> CRUD + bulk + paged + composable query contract.
BaseEntity Guid id + UTC created/updated base entity.
PagedResultData<T> Paginated result with metadata.
DatabaseConfig Connection string + auto-migrate config section.
DatabaseProviderType Supported provider enum.

License

MIT — part of SquidStd.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  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.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on SquidStd.Database.Abstractions:

Package Downloads
SquidStd.Database

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.7.0 44 6/26/2026
0.6.0 55 6/25/2026
0.5.1 47 6/25/2026
0.5.0 50 6/24/2026
0.4.0 45 6/23/2026
0.3.0 48 6/23/2026
0.2.0 60 6/22/2026