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
<PackageReference Include="SquidStd.Database.Abstractions" Version="0.7.0" />
<PackageVersion Include="SquidStd.Database.Abstractions" Version="0.7.0" />
<PackageReference Include="SquidStd.Database.Abstractions" />
paket add SquidStd.Database.Abstractions --version 0.7.0
#r "nuget: SquidStd.Database.Abstractions, 0.7.0"
#:package SquidStd.Database.Abstractions@0.7.0
#addin nuget:?package=SquidStd.Database.Abstractions&version=0.7.0
#tool nuget:?package=SquidStd.Database.Abstractions&version=0.7.0
<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, andGetPagedAsync.BaseEntity—Guid IdplusDateTimeOffset Created/Updated(UTC), set by the data layer.PagedResultData<T>— items +Page,PageSize,TotalCount,TotalPages,HasNext,HasPrevious.DatabaseConfig— URI connection string +AutoMigrateflag.DatabaseProviderType—Sqlite,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 | Versions 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. |
-
net10.0
- FreeSql (>= 3.5.310)
- SquidStd.Abstractions (>= 0.7.0)
- SquidStd.Core (>= 0.7.0)
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.