HyperDev.Data
1.2.4
dotnet add package HyperDev.Data --version 1.2.4
NuGet\Install-Package HyperDev.Data -Version 1.2.4
<PackageReference Include="HyperDev.Data" Version="1.2.4" />
<PackageVersion Include="HyperDev.Data" Version="1.2.4" />
<PackageReference Include="HyperDev.Data" />
paket add HyperDev.Data --version 1.2.4
#r "nuget: HyperDev.Data, 1.2.4"
#:package HyperDev.Data@1.2.4
#addin nuget:?package=HyperDev.Data&version=1.2.4
#tool nuget:?package=HyperDev.Data&version=1.2.4
HyperDev.Data
Data access library built on Entity Framework Core, part of the HyperDev Fatum framework.
It adds attribute-based mapping, named connections and a provider-independent Database API; the database engines are supported by separate provider packages.
DataContext: an EF CoreDbContextbuilt from aModelDescriptor(the list of mapped types), with ADO.NET helpers (ExecuteScalar,ExecuteNonQuery,ExecuteReader) and query hints (WithNoLock,WithReadOnly)- Mapping attributes in
HyperDev.Data.Annotations:TableMap,ViewMap,ColumnMap,PrimaryKeyMap,ForeignKeyMap,IndexMap,SequenceGenerate,Encrypted, ... - Named connections read from configuration (
IConnectionManager,IDataContextFactory), with aliases (Redirect) and runtime resolution DatabaseAPI per connection: commands and transactions, bulk copy, sequences, temporary tables, stored procedures- Data copy between databases, data readers and files (
DataCopy); graph queries that load an entity tree in one round trip (GraphQueryBuilder<TRoot>) - SQL tracing (
AddQueryTracer) and a database logger provider (AddDatabaseLogger)
Installation
dotnet add package HyperDev.Data
dotnet add package HyperDev.Data.SqlServer # or another provider package
Quick start
appsettings.json:
{
"Database": {
"Connections": [
{ "Name": "Shop", "Provider": "Microsoft.Data.SqlClient", "ConnectionString": "Server=.;Database=Shop;Integrated Security=True;TrustServerCertificate=True", "DefaultSchema": "dbo" }
]
}
}
using HyperDev.Data;
using HyperDev.Data.Annotations;
using HyperDev.Data.SqlServer;
using HyperDev.DependencyInjection;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
// Startup: register the providers in use, then the named connections
DatabaseProviderFactories.Register(SqlServerProvider.Instance);
services.AddConnectionFactory(options => configuration.GetSection("Database").Bind(options));
// Usage
var factory = services.BuildServiceProvider().GetRequiredService<IDataContextFactory>();
using var ctx = factory.CreateContext<ShopContext>("Shop");
var customers = ctx.Customers.Where(c => c.City == "Rome").ToList();
[TableMap(Name = "Customers", Schema = "dbo")]
[PrimaryKeyMap(nameof(Id))]
public class Customer
{
public int Id { get; set; }
public string Name { get; set; }
public string City { get; set; }
}
public class ShopContext : DataContext
{
static readonly ModelDescriptor Descriptor = new(new[] { typeof(Customer) });
public ShopContext(ConnectionInfo connectionInfo) : base(connectionInfo) { }
public DbSet<Customer> Customers => Set<Customer>();
protected override IModel GetModel(string providerName) => Descriptor.GetModel(providerName);
}
services and configuration are the host's IServiceCollection and IConfiguration. In ASP.NET Core projects ConnectionInfo also exists in Microsoft.AspNetCore.Http: add using ConnectionInfo = HyperDev.Data.ConnectionInfo;.
Providers
| Package | Provider name |
|---|---|
| HyperDev.Data.SqlServer | Microsoft.Data.SqlClient |
| HyperDev.Data.PostgreSQL | Npgsql |
| HyperDev.Data.Oracle | Oracle.ManagedDataAccess.Client |
| HyperDev.Data.DB2 (Windows), HyperDev.Data.DB2-lnx (Linux) | IBM.Data.DB2.Client |
| HyperDev.Data.Sqlite | Sqlite |
Target frameworks
.NET 8.0, .NET 10.0
License
MIT, © Ivan Senatore, Wemake Informatica srl. Third-party dependencies keep their own licenses (Entity Framework Core and Microsoft.Extensions.*: MIT).
| 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 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
- HyperDev.Core (>= 1.2.4)
- Microsoft.EntityFrameworkCore (>= 10.0.10)
- Microsoft.EntityFrameworkCore.Design (>= 10.0.10)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection (>= 10.0.10)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Logging (>= 10.0.10)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.10)
- Microsoft.Extensions.Options (>= 10.0.10)
-
net8.0
- HyperDev.Core (>= 1.2.4)
- Microsoft.EntityFrameworkCore (>= 8.0.26)
- Microsoft.EntityFrameworkCore.Design (>= 8.0.26)
- Microsoft.Extensions.Configuration.Abstractions (>= 8.0.0)
- Microsoft.Extensions.Configuration.Binder (>= 8.0.2)
- Microsoft.Extensions.DependencyInjection (>= 8.0.1)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
- Microsoft.Extensions.Logging (>= 8.0.1)
- Microsoft.Extensions.Logging.Abstractions (>= 8.0.3)
- Microsoft.Extensions.Options (>= 8.0.2)
NuGet packages (12)
Showing the top 5 NuGet packages that depend on HyperDev.Data:
| Package | Downloads |
|---|---|
|
HyperDev.Web
HyperDev Fatum Framework |
|
|
HyperDev.Data.DB2
HyperDev Fatum Framework |
|
|
HyperDev.Data.SqlServer
HyperDev Fatum Framework |
|
|
HyperDev.Data.Oracle
HyperDev Fatum Framework |
|
|
HyperDev.Data.DB2-lnx
HyperDev Fatum Framework |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.2.4 | 195 | 11/8/2026 |
| 1.2.3 | 167 | 11/8/2026 |
| 1.2.2 | 333 | 11/7/2026 |
| 1.2.1 | 186 | 11/4/2026 |
| 1.2.0 | 674 | 7/29/2026 |
| 1.1.29 | 316 | 7/27/2026 |
| 1.1.28 | 141 | 7/20/2026 |
| 1.1.27 | 420 | 7/7/2026 |
| 1.1.26 | 166 | 6/25/2026 |
| 1.1.25 | 175 | 6/24/2026 |
| 1.1.24 | 207 | 6/19/2026 |
| 1.1.23 | 333 | 5/22/2026 |
| 1.1.22 | 376 | 5/15/2026 |
| 1.1.21 | 255 | 3/20/2026 |
| 1.1.20 | 306 | 3/19/2026 |
| 1.1.19 | 161 | 3/13/2026 |
| 1.1.18 | 141 | 3/13/2026 |
| 1.1.17 | 179 | 3/13/2026 |
| 1.1.16 | 398 | 2/15/2026 |
| 1.1.15 | 147 | 2/13/2026 |