Ozcorps.UuidV8.EntityFrameworkCore
1.0.0
dotnet add package Ozcorps.UuidV8.EntityFrameworkCore --version 1.0.0
NuGet\Install-Package Ozcorps.UuidV8.EntityFrameworkCore -Version 1.0.0
<PackageReference Include="Ozcorps.UuidV8.EntityFrameworkCore" Version="1.0.0" />
<PackageVersion Include="Ozcorps.UuidV8.EntityFrameworkCore" Version="1.0.0" />
<PackageReference Include="Ozcorps.UuidV8.EntityFrameworkCore" />
paket add Ozcorps.UuidV8.EntityFrameworkCore --version 1.0.0
#r "nuget: Ozcorps.UuidV8.EntityFrameworkCore, 1.0.0"
#:package Ozcorps.UuidV8.EntityFrameworkCore@1.0.0
#addin nuget:?package=Ozcorps.UuidV8.EntityFrameworkCore&version=1.0.0
#tool nuget:?package=Ozcorps.UuidV8.EntityFrameworkCore&version=1.0.0
Ozcorps.UuidV8.EntityFrameworkCore
Entity Framework Core integration for Ozcorps.UuidV8. Provides a ValueGenerator and IServiceCollection extensions for RFC 9562 UUIDv8 primary keys.
Installation
dotnet add package Ozcorps.UuidV8.EntityFrameworkCore
Usage
Just call HasUuidV8ValueGenerator() in your model configuration — no other setup required:
public class AppDbContext : DbContext
{
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Order>(e =>
e.Property(o => o.Id).HasUuidV8ValueGenerator());
}
}
Your entity just needs a Guid primary key — EF Core will generate it automatically on insert:
public class Order
{
public Guid Id { get; set; }
public string Description { get; set; } = "";
}
NodeId (optional)
NodeId is a 10-bit value (0–1023) that guarantees cross-machine uniqueness. When omitted (default), those bits are filled with random data — safe for single-node or low-collision scenarios.
To set a NodeId, call AddUuidV8 once at startup:
builder.Services.AddUuidV8(o => o.WithNodeId(1));
Why UUIDv8?
- Time-ordered — sequential inserts, no index fragmentation
- Monotonic — strict ordering within the same millisecond via a 12-bit sequence counter
- Random tail —
RandomNumberGenerator-backed, no MAC address leakage - Standard — RFC 9562 compliant, works with any UUID-aware system
Compatibility
Targets net8.0 — works on .NET 8, 9, and 10+. Requires EF Core 8.0 or later.
| 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 was computed. 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. |
-
net8.0
- Microsoft.EntityFrameworkCore (>= 8.0.0)
- Ozcorps.UuidV8 (>= 1.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0 | 90 | 3/5/2026 |