Huia.EntityFrameworkCore
1.0.0-alpha.4
dotnet add package Huia.EntityFrameworkCore --version 1.0.0-alpha.4
NuGet\Install-Package Huia.EntityFrameworkCore -Version 1.0.0-alpha.4
<PackageReference Include="Huia.EntityFrameworkCore" Version="1.0.0-alpha.4" />
<PackageVersion Include="Huia.EntityFrameworkCore" Version="1.0.0-alpha.4" />
<PackageReference Include="Huia.EntityFrameworkCore" />
paket add Huia.EntityFrameworkCore --version 1.0.0-alpha.4
#r "nuget: Huia.EntityFrameworkCore, 1.0.0-alpha.4"
#:package Huia.EntityFrameworkCore@1.0.0-alpha.4
#addin nuget:?package=Huia.EntityFrameworkCore&version=1.0.0-alpha.4&prerelease
#tool nuget:?package=Huia.EntityFrameworkCore&version=1.0.0-alpha.4&prerelease
Huia.EntityFrameworkCore
Entity Framework Core persistence for the Huia identity provider:
HuiaDbContextderives from Finbuckle'sMultiTenantIdentityDbContext<HuiaUser, HuiaRole, string>and callsbuilder.UseOpenIddict(). Its constructor takes(IMultiTenantContextAccessor accessor, DbContextOptions<HuiaDbContext> options)and snapshots the resolvedTenantInfoat construction — seeding / background code must set the ambient tenant (HuiaTenantScope.Enter(...)) before resolving the context orUserManager.- Tenant isolation is a global query filter (
TenantId == TenantInfo.Id) on every user / role / claim / login / token entity, plus write-timeEnforceMultiTenant()(throws on a tenant-less or cross-tenant write, auto-stampsTenantIdon insert). Any deliberately cross-tenant query must.IgnoreQueryFilters()— the filter NREs rather than returning nothing when no tenant is in scope. - All tables are renamed to
Huia*viaToTable;ApplyTenantScopedIndexesruns last inOnModelCreatingand re-adds the named composites the model tests assert (IX_HuiaUsers_Tenant_UserNameunique,IX_HuiaUsers_Tenant_Email,IX_HuiaRoles_Tenant_Nameunique), superseding Finbuckle'sAdjustUniqueIndexes. HuiaSigningKeyis not multi-tenant (it carries a manualTenantId), so the key-lifecycle jobs run with no tenant scope. OpenIddict entities are stock; the tenant binding lives in each application'sProperties["huia:tenant"]and is enforced byHuiaOpenIddict{Application,Scope}Store(which readIMultiTenantContextAccessor).IMultiTenantContextAccessorextensionsCurrentTenantId()/RequireCurrentTenantId()(Huia.EntityFrameworkCore.Multitenancy.TenantAccessorExtensions) for reads.
This package is provider-agnostic and ships no migrations. The host application owns the provider
package (for example Npgsql.EntityFrameworkCore.PostgreSQL), the migrations, and the design-time
factory.
| 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
- Finbuckle.MultiTenant (>= 10.1.3)
- Finbuckle.MultiTenant.EntityFrameworkCore (>= 10.1.3)
- Finbuckle.MultiTenant.Identity.EntityFrameworkCore (>= 10.1.3)
- Huia (>= 1.0.0-alpha.4)
- Microsoft.AspNetCore.Identity.EntityFrameworkCore (>= 10.0.11)
- Microsoft.EntityFrameworkCore (>= 10.0.11)
- Microsoft.EntityFrameworkCore.Relational (>= 10.0.11)
- Microsoft.Extensions.Caching.Memory (>= 10.0.11)
- OpenIddict.EntityFrameworkCore (>= 7.6.1)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Huia.EntityFrameworkCore:
| Package | Downloads |
|---|---|
|
Huia.AspNetCore
Huia ASP.NET Core integration: AddHuia() / UseHuia(), Finbuckle base-path multi-tenancy, the OpenIddict server and client, the Razor Pages account UI, passwordless SMS, the signing-key lifecycle jobs and opt-in security headers. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0-alpha.4 | 52 | 9/6/2026 |
| 1.0.0-alpha.3 | 70 | 8/17/2026 |
| 1.0.0-alpha.2 | 64 | 8/13/2026 |
| 1.0.0-alpha.1 | 63 | 8/11/2026 |