HyperDev.Data 1.2.4

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

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 Core DbContext built from a ModelDescriptor (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
  • Database API 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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
Loading failed