using Microsoft.EntityFrameworkCore;
public static void Main()
Console.WriteLine(UUID.New().ToBase32());
Console.WriteLine(UUID.New().ToBase64());
Console.WriteLine(uuid1.ToString());
UUID uuid2 = UUID.NewCompact();
Console.WriteLine(uuid2.ToString());
Console.WriteLine(uuid2.ToInt64().ToString());
public UUID Id { get; set; }
public string Name { get; set; }
public class DemoDbContext : DbContext
public DbSet<User> Users => Set<User>();
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
.UseSqlite("Data Source=demo.db")
.EnableSensitiveDataLogging()
protected override void ConfigureConventions(ModelConfigurationBuilder configurationBuilder)
configurationBuilder.UseUUIDAsBinary();
protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.Entity<User>(entity =>
entity.HasKey(e => e.Id);
entity.Property(e => e.Id)
.HasConversion<UUIDToStringConverter>()
entity.Property(e => e.Name)
modelBuilder.Entity<User>()
v => UUID.FromByteArray(v));