Tolitech.EntityFrameworkCore.Generators
1.0.0-preview.2
dotnet add package Tolitech.EntityFrameworkCore.Generators --version 1.0.0-preview.2
NuGet\Install-Package Tolitech.EntityFrameworkCore.Generators -Version 1.0.0-preview.2
<PackageReference Include="Tolitech.EntityFrameworkCore.Generators" Version="1.0.0-preview.2" />
<PackageVersion Include="Tolitech.EntityFrameworkCore.Generators" Version="1.0.0-preview.2" />
<PackageReference Include="Tolitech.EntityFrameworkCore.Generators" />
paket add Tolitech.EntityFrameworkCore.Generators --version 1.0.0-preview.2
#r "nuget: Tolitech.EntityFrameworkCore.Generators, 1.0.0-preview.2"
#:package Tolitech.EntityFrameworkCore.Generators@1.0.0-preview.2
#addin nuget:?package=Tolitech.EntityFrameworkCore.Generators&version=1.0.0-preview.2&prerelease
#tool nuget:?package=Tolitech.EntityFrameworkCore.Generators&version=1.0.0-preview.2&prerelease
Tolitech.EntityFrameworkCore.Generators
Purpose
Tolitech.EntityFrameworkCore.Generators is designed to automatically register all classes that implement the Microsoft.EntityFrameworkCore.IEntityTypeConfiguration
interface in Entity Framework Core projects. By leveraging source generators, it eliminates the need for manual registration of each entity configuration and avoids the use of reflection, which can impact performance in large projects.
How It Works
At compile time, the source generator detects all IEntityTypeConfiguration
implementations in your project and generates code that automatically registers each configuration in your DbContext
's OnModelCreating
method. This ensures that all configurations are applied without manual intervention and with no runtime reflection overhead.
Usage
Implement your configurations as usual:
public sealed class PersonConfiguration : IEntityTypeConfiguration<Person> { public void Configure(EntityTypeBuilder<Person> builder) { builder.HasKey(x => x.Id); builder.Property(x => x.Name) .IsRequired() .HasMaxLength(20); } }
In your DbContext, use the generated method:
public class ApplicationDbContext : DbContext { public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options) { } public DbSet<Person> People { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); modelBuilder.ApplyConfigurationsGenerated(); // Automatically generated method } }
That's it! All entity configurations implemented in your project will be applied automatically.
Benefits
- No manual registration: You do not need to add each configuration individually in
OnModelCreating
. - No reflection: The process is handled at compile time, with no runtime performance cost.
- Easy maintenance: Just create new configurations and they will be applied automatically.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
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-preview.2 | 247 | 9/18/2025 |
1.0.0-preview.1 | 254 | 9/16/2025 |