From cceb31ad21201ba8d021add76840a7045624830b Mon Sep 17 00:00:00 2001 From: Andrei Ignat Date: Tue, 18 Aug 2026 21:39:08 +0300 Subject: [PATCH 1/3] first --- .../Atulin.AutoDbSet/description.json | 22 +++++++++ .../Atulin.AutoDbSet/src/EntityDemo.sln | 25 +++++++++++ .../src/EntityDemo/DotNetStatsContext.cs | 45 +++++++++++++++++++ .../src/EntityDemo/EntityDemo.csproj | 23 ++++++++++ .../src/EntityDemo/Program.cs | 10 +++++ .../src/EntityDemo/Project.cs | 13 ++++++ .../Atulin.AutoDbSet/src/EntityDemo/Star.cs | 13 ++++++ .../src/EntityDemo/globals.cs | 2 + 8 files changed, 153 insertions(+) create mode 100644 v2/rscg_examples/Atulin.AutoDbSet/description.json create mode 100644 v2/rscg_examples/Atulin.AutoDbSet/src/EntityDemo.sln create mode 100644 v2/rscg_examples/Atulin.AutoDbSet/src/EntityDemo/DotNetStatsContext.cs create mode 100644 v2/rscg_examples/Atulin.AutoDbSet/src/EntityDemo/EntityDemo.csproj create mode 100644 v2/rscg_examples/Atulin.AutoDbSet/src/EntityDemo/Program.cs create mode 100644 v2/rscg_examples/Atulin.AutoDbSet/src/EntityDemo/Project.cs create mode 100644 v2/rscg_examples/Atulin.AutoDbSet/src/EntityDemo/Star.cs create mode 100644 v2/rscg_examples/Atulin.AutoDbSet/src/EntityDemo/globals.cs diff --git a/v2/rscg_examples/Atulin.AutoDbSet/description.json b/v2/rscg_examples/Atulin.AutoDbSet/description.json new file mode 100644 index 000000000..24dfcc53a --- /dev/null +++ b/v2/rscg_examples/Atulin.AutoDbSet/description.json @@ -0,0 +1,22 @@ +{ + "generator":{ + "name":"Atulin.AutoDbSet", + "nuget":[ + "https://www.nuget.org/packages/Atulin.AutoDbSet/" + ], + "link":"https://github.com/Atulin/AutoDbSet", + "author":"Angius Atulin", + "source":"https://github.com/Atulin/AutoDbSet" + }, + "data":{ + "goodFor":["Generating DbSet properties for Entity Framework Core DbContext classes"], + "csprojDemo":"EntityDemo.csproj", + "csFiles":["Program.cs","Project.cs","DotNetStatsContext.cs"], + "excludeDirectoryGenerated":[""], + "includeAdditionalFiles":[""] + }, + "links":{ + "blog":"", + "video":"" + } +} \ No newline at end of file diff --git a/v2/rscg_examples/Atulin.AutoDbSet/src/EntityDemo.sln b/v2/rscg_examples/Atulin.AutoDbSet/src/EntityDemo.sln new file mode 100644 index 000000000..29ae3a882 --- /dev/null +++ b/v2/rscg_examples/Atulin.AutoDbSet/src/EntityDemo.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.13.35806.99 d17.13 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EntityDemo", "EntityDemo\EntityDemo.csproj", "{8E781946-11BC-4A8C-857F-E1770565823D}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {8E781946-11BC-4A8C-857F-E1770565823D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8E781946-11BC-4A8C-857F-E1770565823D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8E781946-11BC-4A8C-857F-E1770565823D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8E781946-11BC-4A8C-857F-E1770565823D}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {F93AFAB4-9779-49B1-A381-7C4845EA2ED1} + EndGlobalSection +EndGlobal diff --git a/v2/rscg_examples/Atulin.AutoDbSet/src/EntityDemo/DotNetStatsContext.cs b/v2/rscg_examples/Atulin.AutoDbSet/src/EntityDemo/DotNetStatsContext.cs new file mode 100644 index 000000000..cc41c3b6d --- /dev/null +++ b/v2/rscg_examples/Atulin.AutoDbSet/src/EntityDemo/DotNetStatsContext.cs @@ -0,0 +1,45 @@ + +using System.Diagnostics.CodeAnalysis; + +namespace Stats.Database; + +[AutoDbSetGenerators.AutoDbContext] +public partial class DotNetStatsContext : DbContext +{ + [SetsRequiredMembers] + internal DotNetStatsContext() : base() { + Stars = Set(); + Projects = Set(); + } + [SetsRequiredMembers] + public DotNetStatsContext(DbContextOptions options) + : base(options) + { + Stars = Set(); + Projects = Set(); + } + + protected override void OnModelCreating(ModelBuilder modelBuilder) + { + modelBuilder.Entity(entity => + { + //entity.ToTable("Project"); + + entity.Property(e => e.Id);//.HasColumnName("ID"); + entity.Property(e => e.Description).HasMaxLength(500); + entity.Property(e => e.Name).HasMaxLength(50); + entity.Property(e => e.SourceCodeUrl).HasMaxLength(50); + }); + + modelBuilder.Entity(entity => + { + // entity.Property(e => e.Id) + // .HasColumnName("ID"); + // entity.Property(e => e.Idproject).HasColumnName("IDProject"); + }); + + OnModelCreatingPartial(modelBuilder); + } + + partial void OnModelCreatingPartial(ModelBuilder modelBuilder); +} diff --git a/v2/rscg_examples/Atulin.AutoDbSet/src/EntityDemo/EntityDemo.csproj b/v2/rscg_examples/Atulin.AutoDbSet/src/EntityDemo/EntityDemo.csproj new file mode 100644 index 000000000..4a664a649 --- /dev/null +++ b/v2/rscg_examples/Atulin.AutoDbSet/src/EntityDemo/EntityDemo.csproj @@ -0,0 +1,23 @@ + + + + Exe + net10.0 + enable + enable + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + true + $(BaseIntermediateOutputPath)\GX + + diff --git a/v2/rscg_examples/Atulin.AutoDbSet/src/EntityDemo/Program.cs b/v2/rscg_examples/Atulin.AutoDbSet/src/EntityDemo/Program.cs new file mode 100644 index 000000000..0cfdd67e7 --- /dev/null +++ b/v2/rscg_examples/Atulin.AutoDbSet/src/EntityDemo/Program.cs @@ -0,0 +1,10 @@ +using Microsoft.EntityFrameworkCore; +using System.Threading.Tasks; + +Console.WriteLine("Hello, World!"); +DbContextOptionsBuilder optionsBuilder = new(); +optionsBuilder.UseInMemoryDatabase("StatsDatabase"); +var cnt = new DotNetStatsContext(optionsBuilder.Options); +await cnt.Database.EnsureCreatedAsync(); +Console.WriteLine("Database created"); +Console.WriteLine(cnt.Projects.Count()); diff --git a/v2/rscg_examples/Atulin.AutoDbSet/src/EntityDemo/Project.cs b/v2/rscg_examples/Atulin.AutoDbSet/src/EntityDemo/Project.cs new file mode 100644 index 000000000..0c77981eb --- /dev/null +++ b/v2/rscg_examples/Atulin.AutoDbSet/src/EntityDemo/Project.cs @@ -0,0 +1,13 @@ +namespace Stats.Database; + +[AutoDbSetGenerators.AutoDbSet] +public partial class Project +{ + public long Id { get; set; } + + public string Name { get; set; } = null!; + + public string SourceCodeUrl { get; set; } = null!; + + public string? Description { get; set; } +} diff --git a/v2/rscg_examples/Atulin.AutoDbSet/src/EntityDemo/Star.cs b/v2/rscg_examples/Atulin.AutoDbSet/src/EntityDemo/Star.cs new file mode 100644 index 000000000..0beabfdbb --- /dev/null +++ b/v2/rscg_examples/Atulin.AutoDbSet/src/EntityDemo/Star.cs @@ -0,0 +1,13 @@ +namespace Stats.Database; + +[AutoDbSetGenerators.AutoDbSet] +public partial class Star +{ + public long Id { get; set; } + + public long Idproject { get; set; } + + public int Count { get; set; } + + public DateOnly DateRecording { get; set; } +} diff --git a/v2/rscg_examples/Atulin.AutoDbSet/src/EntityDemo/globals.cs b/v2/rscg_examples/Atulin.AutoDbSet/src/EntityDemo/globals.cs new file mode 100644 index 000000000..0d211d114 --- /dev/null +++ b/v2/rscg_examples/Atulin.AutoDbSet/src/EntityDemo/globals.cs @@ -0,0 +1,2 @@ +global using Microsoft.EntityFrameworkCore; +global using Stats.Database; From 02c8776300bef9b05e9f4f56981f07cc6243e9ea Mon Sep 17 00:00:00 2001 From: Andrei Ignat Date: Tue, 18 Aug 2026 21:42:55 +0300 Subject: [PATCH 2/3] added a\data --- README.md | 32 ++++- v2/Generator/all.csv | 3 +- v2/GeneratorData/Category.cs | 1 + v2/RSCGExamplesData/GeneratorDataRec.json | 8 +- v2/rscg_examples/Atulin.AutoDbSet/nuget.txt | 1 + v2/rscg_examples/Atulin.AutoDbSet/readme.txt | 112 ++++++++++++++++++ .../src/.tours/Atulin.AutoDbSet.tour | 54 +++++++++ v2/rscg_examples/Atulin.AutoDbSet/video.json | 39 ++++++ .../docs/Authors/Angius_Atulin.md | 7 ++ .../docs/Categories/Database.md | 14 +-- .../docs/Categories/EntityFramework.md | 8 ++ .../docs/Categories/_PrimitiveDatabase.mdx | 12 +- .../Categories/_PrimitiveEntityFramework.mdx | 9 ++ .../docs/RSCG-Examples/index.md | 34 ++++-- v2/rscg_examples_site/docs/about.md | 2 +- v2/rscg_examples_site/docs/indexRSCG.md | 7 +- .../src/components/HomepageFeatures/index.js | 2 +- .../static/exports/RSCG.json | 10 +- .../static/exports/RSCG.xlsx | Bin 14503 -> 14566 bytes 19 files changed, 317 insertions(+), 38 deletions(-) create mode 100644 v2/rscg_examples/Atulin.AutoDbSet/nuget.txt create mode 100644 v2/rscg_examples/Atulin.AutoDbSet/readme.txt create mode 100644 v2/rscg_examples/Atulin.AutoDbSet/src/.tours/Atulin.AutoDbSet.tour create mode 100644 v2/rscg_examples/Atulin.AutoDbSet/video.json create mode 100644 v2/rscg_examples_site/docs/Authors/Angius_Atulin.md create mode 100644 v2/rscg_examples_site/docs/Categories/EntityFramework.md create mode 100644 v2/rscg_examples_site/docs/Categories/_PrimitiveEntityFramework.mdx diff --git a/README.md b/README.md index 07d4297e0..24d4a683a 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# RSCG - 277 Examples of Roslyn Source Code Generators / 16 created by Microsoft / +# RSCG - 278 Examples of Roslyn Source Code Generators / 16 created by Microsoft / -The RSCG_Examples repository is a comprehensive documentation system that automatically processes and showcases 277 Roslyn Source Code Generator (RSCG) examples. The system transforms individual RSCG projects into structured documentation with code examples and cross-referenced content with a searchable website and code example exports. +The RSCG_Examples repository is a comprehensive documentation system that automatically processes and showcases 278 Roslyn Source Code Generator (RSCG) examples. The system transforms individual RSCG projects into structured documentation with code examples and cross-referenced content with a searchable website and code example exports. This system serves as both a learning resource for .NET developers interested in source generators and an automated pipeline for maintaining up-to-date documentation about the RSCG ecosystem @@ -12,7 +12,7 @@ If you want just those from Microsoft, please click ***[Microsoft](https://ignat If you want to see by category, please click ***[category](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples)*** or click any category below -[actor](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#actor) -[ai](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#ai) -[aop](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#aop) -[api](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#api) -[async](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#async) -[audit](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#audit) -[bitwise](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#bitwise) -[blazor](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#blazor) -[bool](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#bool) -[builder](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#builder) -[clone](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#clone) -[codetostring](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#codetostring) -[commandline](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#commandline) -[console](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#console) -[constructor](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#constructor) -[database](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#database) -[decorator](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#decorator) -[dependencyinjection](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#dependencyinjection) -[disposer](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#disposer) -[documentation](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#documentation) -[enhancementclass](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#enhancementclass) -[enhancementproject](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#enhancementproject) -[enum](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#enum) -[equals](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#equals) -[filestocode](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#filestocode) -[functionalprogramming](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#functionalprogramming) -[hangfire](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#hangfire) -[idempotency](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#idempotency) -[interface](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#interface) -[linq](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#linq) -[mapper](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#mapper) -[mcp](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#mcp) -[mediator](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#mediator) -[mixin](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#mixin) -[mvc](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#mvc) -[mvvm](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#mvvm) -[optimizer](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#optimizer) -[primitiveobsession](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#primitiveobsession) -[profiler](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#profiler) -[rx](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#rx) -[serializer](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#serializer) -[signalr](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#signalr) -[statemachine](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#statemachine) -[templating](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#templating) -[tests](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#tests) -[validator](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#validator) -[winapi](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#winapi) - +[actor](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#actor) -[ai](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#ai) -[aop](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#aop) -[api](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#api) -[async](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#async) -[audit](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#audit) -[bitwise](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#bitwise) -[blazor](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#blazor) -[bool](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#bool) -[builder](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#builder) -[clone](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#clone) -[codetostring](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#codetostring) -[commandline](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#commandline) -[console](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#console) -[constructor](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#constructor) -[database](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#database) -[decorator](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#decorator) -[dependencyinjection](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#dependencyinjection) -[disposer](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#disposer) -[documentation](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#documentation) -[enhancementclass](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#enhancementclass) -[enhancementproject](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#enhancementproject) -[entityframework](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#entityframework) -[enum](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#enum) -[equals](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#equals) -[filestocode](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#filestocode) -[functionalprogramming](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#functionalprogramming) -[hangfire](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#hangfire) -[idempotency](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#idempotency) -[interface](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#interface) -[linq](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#linq) -[mapper](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#mapper) -[mcp](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#mcp) -[mediator](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#mediator) -[mixin](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#mixin) -[mvc](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#mvc) -[mvvm](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#mvvm) -[optimizer](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#optimizer) -[primitiveobsession](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#primitiveobsession) -[profiler](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#profiler) -[rx](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#rx) -[serializer](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#serializer) -[signalr](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#signalr) -[statemachine](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#statemachine) -[templating](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#templating) -[tests](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#tests) -[validator](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#validator) -[winapi](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#winapi) - ## If you have a Roslyn Source Code Generator, please create an issue. @@ -24,8 +24,30 @@ If you want to be notified each time I add a new RSCG example , please click htt ## Content -Those are the 277 Roslyn Source Code Generators that I have tested you can see and download source code example. +Those are the 278 Roslyn Source Code Generators that I have tested you can see and download source code example. ( including 16 from Microsoft ) +### 278. [Atulin.AutoDbSet](https://ignatandrei.github.io/RSCG_Examples/v2/docs/Atulin.AutoDbSet) , in the [EntityFramework](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#entityframework) category + +Generated on : 2025-08-04 => 04 August 2025 + +
+ Expand + + + +Author: Angius Atulin + +Package Description + +Nuget: [https://www.nuget.org/packages/Atulin.AutoDbSet/](https://www.nuget.org/packages/Atulin.AutoDbSet/) + + +Link: [https://ignatandrei.github.io/RSCG_Examples/v2/docs/Atulin.AutoDbSet](https://ignatandrei.github.io/RSCG_Examples/v2/docs/Atulin.AutoDbSet) + +Source: [https://github.com/Atulin/AutoDbSet](https://github.com/Atulin/AutoDbSet) + +
+ ### 277. [Bennewitz.Ninja.AutoVersioning](https://ignatandrei.github.io/RSCG_Examples/v2/docs/Bennewitz.Ninja.AutoVersioning) , in the [EnhancementProject](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#enhancementproject) category Generated on : 2026-07-04 => 04 July 2026 @@ -2023,7 +2045,7 @@ Source: [https://github.com/Georgiy-Petrov/StepwiseBuilderGenerator](https://git -### 187. [EntityLengths.Generator](https://ignatandrei.github.io/RSCG_Examples/v2/docs/EntityLengths.Generator) , in the [Database](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#database) category +### 187. [EntityLengths.Generator](https://ignatandrei.github.io/RSCG_Examples/v2/docs/EntityLengths.Generator) , in the [EntityFramework](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#entityframework) category Generated on : 2025-02-19 => 19 February 2025 diff --git a/v2/Generator/all.csv b/v2/Generator/all.csv index df9f2acc0..348301fff 100644 --- a/v2/Generator/all.csv +++ b/v2/Generator/all.csv @@ -185,7 +185,7 @@ Nr,Key,Source,Category 184,MockMe, https://github.com/connorivy/MockMe/,Tests 185,DependencyModules.SourceGenerator, https://github.com/ipjohnson/DependencyModules,DependencyInjection 186,RSCG_CompositeProvider, https://github.com/ignatandrei/RSCG_CompositeProvider,Interface -187,EntityLengths.Generator, https://github.com/TarasKovalenko/EntityLengths.Generator/,Database +187,EntityLengths.Generator, https://github.com/TarasKovalenko/EntityLengths.Generator/,EntityFramework 188,StepwiseBuilderGenerator, https://github.com/Georgiy-Petrov/StepwiseBuilderGenerator,Builder 189,MemberAccessor, https://github.com/usausa/member-accessor-generator,EnhancementClass 190,PMart.Enumeration, https://github.com/p-martinho/Enumeration,Enum @@ -276,3 +276,4 @@ Nr,Key,Source,Category 275,Porticle.Enumly, https://github.com/Machibuse/Porticle.Enumly,Enum 276,TinyBDD.MSTest, https://github.com/JerrettDavis/TinyBDD,Tests 277,Bennewitz.Ninja.AutoVersioning, https://github.com/JanusMael/Bennewitz.Ninja.AutoVersioning,EnhancementProject +278,Atulin.AutoDbSet, https://github.com/Atulin/AutoDbSet,EntityFramework diff --git a/v2/GeneratorData/Category.cs b/v2/GeneratorData/Category.cs index 93c7fed48..632a97990 100644 --- a/v2/GeneratorData/Category.cs +++ b/v2/GeneratorData/Category.cs @@ -50,5 +50,6 @@ public enum Category Idempotency=45, Documentation=46, Audit = 47, + EntityFramework = 48, } diff --git a/v2/RSCGExamplesData/GeneratorDataRec.json b/v2/RSCGExamplesData/GeneratorDataRec.json index 73af9bf9f..302574496 100644 --- a/v2/RSCGExamplesData/GeneratorDataRec.json +++ b/v2/RSCGExamplesData/GeneratorDataRec.json @@ -1126,7 +1126,7 @@ }, { "ID":"EntityLengths.Generator", - "Category": 14, + "Category": 48, "dtStart": "2025-02-19T00:00:00", "show": true }, @@ -1678,5 +1678,11 @@ "Category": 1, "dtStart": "2026-07-04T00:00:00", "show": true + }, + { + "ID":"Atulin.AutoDbSet", + "Category": 48, + "dtStart": "2025-08-04T00:00:00", + "show": true } ] \ No newline at end of file diff --git a/v2/rscg_examples/Atulin.AutoDbSet/nuget.txt b/v2/rscg_examples/Atulin.AutoDbSet/nuget.txt new file mode 100644 index 000000000..882e74f60 --- /dev/null +++ b/v2/rscg_examples/Atulin.AutoDbSet/nuget.txt @@ -0,0 +1 @@ +Package Description \ No newline at end of file diff --git a/v2/rscg_examples/Atulin.AutoDbSet/readme.txt b/v2/rscg_examples/Atulin.AutoDbSet/readme.txt new file mode 100644 index 000000000..6794a260f --- /dev/null +++ b/v2/rscg_examples/Atulin.AutoDbSet/readme.txt @@ -0,0 +1,112 @@ +[![NuGet Version](https://img.shields.io/nuget/v/Atulin.AutoDbSet?style=for-the-badge)](https://www.nuget.org/packages/Atulin.AutoDbSet/) +![NuGet Downloads](https://img.shields.io/nuget/dt/Atulin.AutoDbSet?style=for-the-badge) +![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/Atulin/AutoDbSet/publish.yml?style=for-the-badge) +[![GitHub License](https://img.shields.io/github/license/Atulin/AutoDbSet?style=for-the-badge)](./LICENSE) + +# AutoDbSet + +Automagically add `DbSet`s to your `DbContext` + +## Usage + +Place `[AutoDbSet]` attribute on the database models you want to register... + +```cs +using AutoDbSetGenerators; + +namespace AutoDbSet.Demo; + +[AutoDbSet] +public class Person +{ + public required string Name { get; set; } + public required DateOnly Birthday { get; set; } + public required float Height { get; set; } +} +``` + +Place `[AutoDbContext]` attribute on your `DbContext` and make it `partial`... + +```cs +using AutoDbSetGenerators; +using Microsoft.EntityFrameworkCore; + +namespace AutoDbSet.Demo; + +[AutoDbContext] +public partial class MyCoolDbContext : DbContext +{ +} +``` + +And watch the magic happen! + +```cs +namespace AutoDbSet.Demo; + +[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute] +[global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage] +[global::System.CodeDom.Compiler.GeneratedCode("AutoDbSet", "2.0.0.0")] +public partial class MyCoolDbContext +{ + public required Microsoft.EntityFrameworkCore.DbSet Persons { get; init; } +} +``` + +## DbSet naming + +By default `AutoDbSet` will try to naively pluralize the names ([here's how](./AutoDbSet/NameHelpers.cs)). It does not, +therefore, work with verbs that have irregular plural form, nor does it work with non-English languages. + +You can, however, give the sets your own, custom name: + +```cs +[AutoDbSetGenerators.AutoDbSet(Name = "People")] +public class Person +{ + public required string Name { get; set; } + public required DateOnly Birthday { get; set; } + public required float Height { get; set; } +} +``` + +will generate + +```cs +namespace AutoDbSet.Demo; + +[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute] +[global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage] +[global::System.CodeDom.Compiler.GeneratedCode("AutoDbSet", "1.0.0.0")] +public partial class MyCoolDbContext +{ + public required Microsoft.EntityFrameworkCore.DbSet People { get; init; } +} +``` + +## Multiple `DbContext`s support + +You can relate a given class to a given `DbContext` using the `DbContext` property of the +`[AutoDbSet]` attribute: + +```cs +[AutoDbSetGenerators.AutoDbSet(DbContext = typeof(MyCoolerDbContext))] +public class CoolerPerson +{ + public required string Name { get; set; } + public required DateOnly Birthday { get; set; } + public required float Height { get; set; } + public bool IsCool { get; } = true; +} +``` + +Classes without an explicit `DbContext` will be registered to the single `DbContext` that +was not specified in any other `[AutoDbSet]` attribute. + +> [!IMPORTANT] +> There can only be a single default `DbContext` + +## ExpressiveSharp support + +AutoDbSet supports [ExpressiveSharp](https://github.com/EFNext/ExpressiveSharp) out of the box, +and generates `ExpressiveDbSet`s instead of `DbSet`s if it's available. \ No newline at end of file diff --git a/v2/rscg_examples/Atulin.AutoDbSet/src/.tours/Atulin.AutoDbSet.tour b/v2/rscg_examples/Atulin.AutoDbSet/src/.tours/Atulin.AutoDbSet.tour new file mode 100644 index 000000000..cee3a0dba --- /dev/null +++ b/v2/rscg_examples/Atulin.AutoDbSet/src/.tours/Atulin.AutoDbSet.tour @@ -0,0 +1,54 @@ + +{ + "$schema": "https://aka.ms/codetour-schema", + "title": "Atulin.AutoDbSet", + "steps": + [ + { + "file": "EntityDemo/EntityDemo.csproj", + "description": "First, we add Nuget [Atulin.AutoDbSet](https://www.nuget.org/packages/Atulin.AutoDbSet/) in csproj ", + "pattern": "Atulin.AutoDbSet" + } + + ,{ + "file": "EntityDemo/DotNetStatsContext.cs", + "description": "File DotNetStatsContext.cs ", + "pattern": "this is the code" + } + + ,{ + "file": "EntityDemo/Project.cs", + "description": "File Project.cs ", + "pattern": "this is the code" + } + + ,{ + "file": "EntityDemo/Program.cs", + "description": "File Program.cs \r\n>> dotnet run --project EntityDemo/EntityDemo.csproj ", + "pattern": "this is the code" + } + + + ,{ + "file": "EntityDemo/obj/GX/AutoDbSet/AutoDbSet.AutoDbSetIncrementalSourceGenerator/DotNetStatsContext.g.cs", + "description": "Generated File 3 from 3 : DotNetStatsContext.g.cs ", + "line": 1 + } + + ,{ + "file": "EntityDemo/obj/GX/AutoDbSet/AutoDbSet.AutoDbSetIncrementalSourceGenerator/DbContextAttribute.g.cs", + "description": "Generated File 2 from 3 : DbContextAttribute.g.cs ", + "line": 1 + } + + ,{ + "file": "EntityDemo/obj/GX/AutoDbSet/AutoDbSet.AutoDbSetIncrementalSourceGenerator/AutoDbSetAttribute.g.cs", + "description": "Generated File 1 from 3 : AutoDbSetAttribute.g.cs ", + "line": 1 + } + + ], + + "ref": "main" + +} \ No newline at end of file diff --git a/v2/rscg_examples/Atulin.AutoDbSet/video.json b/v2/rscg_examples/Atulin.AutoDbSet/video.json new file mode 100644 index 000000000..7203625af --- /dev/null +++ b/v2/rscg_examples/Atulin.AutoDbSet/video.json @@ -0,0 +1,39 @@ +{ + "scriptName": "Atulin.AutoDbSet", + "steps": +[ + {"typeStep":"exec","arg":"clipchamp.exe launch"}, + {"typeStep":"text","arg": "Welcome to Roslyn Examples"}, + {"typeStep":"text","arg":"If you want to see more examples , see List Of RSCG"}, + {"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/List-of-RSCG"}, + {"typeStep":"text","arg": "My name is Andrei Ignat and I am deeply fond of Roslyn Source Code Generator. "}, + +{"typeStep":"text","arg": "Today I will present Atulin.AutoDbSet . Generating DbSet properties for Entity Framework Core DbContext classes ."}, +{"typeStep":"browser","arg":"https://www.nuget.org/packages/Atulin.AutoDbSet/"}, +{"typeStep":"text","arg": "The whole example is here"}, +{"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/Atulin.AutoDbSet"}, +{"typeStep":"text","arg": "You can download the code from here"}, +{"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/Atulin.AutoDbSet#download-example-net--c-"}, +{"typeStep":"text","arg":"Here is the code downloaded "}, +{"typeStep":"exec","arg":"explorer.exe /select,D:\\gth\\RSCG_Examples\\v2\\rscg_examples\\Atulin.AutoDbSet\\src\\EntityDemo.sln"}, +{"typeStep":"text","arg": "So , let's start the project with Visual Studio Code "}, +{"typeStep":"stepvscode","arg": "-n D:\\gth\\RSCG_Examples\\v2\\rscg_examples\\Atulin.AutoDbSet\\src"}, + +{"typeStep":"text","arg": "To use it ,you will put the Nuget Atulin.AutoDbSet into the csproj "}, + +{"typeStep":"stepvscode","arg": "-r -g D:\\gth\\RSCG_Examples\\v2\\rscg_examples\\Atulin.AutoDbSet\\src\\EntityDemo\\EntityDemo.csproj"}, + +{"typeStep":"text","arg": "And now I will show you an example of using Atulin.AutoDbSet"}, + +{"typeStep":"hide","arg": "now execute the tour in VSCode"}, +{"typeStep":"tour", "arg": "src/.tours/"}, +{"typeStep":"text","arg":" And I will execute the project"}, +{"typeStep":"showproj", "arg":"EntityDemo.csproj"}, +{"typeStep":"text","arg":" This concludes the project"}, +{"typeStep":"waitseconds","arg":"30"}, +{"typeStep":"text","arg": "Remember, you can download the code from here"}, +{"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/Atulin.AutoDbSet#download-example-net--c-", +SpeakTest=" "}, +{"typeStep":"waitseconds","arg":"30"}, +] +} diff --git a/v2/rscg_examples_site/docs/Authors/Angius_Atulin.md b/v2/rscg_examples_site/docs/Authors/Angius_Atulin.md new file mode 100644 index 000000000..13e9f2eb3 --- /dev/null +++ b/v2/rscg_examples_site/docs/Authors/Angius_Atulin.md @@ -0,0 +1,7 @@ +# Author : Angius Atulin + +Number RSCG: 1 + + + 1 [Atulin.AutoDbSet](/docs/Atulin.AutoDbSet) [![Nuget](https://img.shields.io/nuget/dt/Atulin.AutoDbSet?label=Atulin.AutoDbSet)](https://www.nuget.org/packages/Atulin.AutoDbSet/) ![GitHub Repo stars](https://img.shields.io/github/stars/Atulin/AutoDbSet?style=social) 2025-08-04 + diff --git a/v2/rscg_examples_site/docs/Categories/Database.md b/v2/rscg_examples_site/docs/Categories/Database.md index 7ce411cf1..b2378e1f7 100644 --- a/v2/rscg_examples_site/docs/Categories/Database.md +++ b/v2/rscg_examples_site/docs/Categories/Database.md @@ -1,6 +1,6 @@

Database

-Number RSCG: 9 +Number RSCG: 8 1 [AlephMapper](/docs/AlephMapper) [![Nuget](https://img.shields.io/nuget/dt/AlephMapper?label=AlephMapper)](https://www.nuget.org/packages/AlephMapper/) ![GitHub Repo stars](https://img.shields.io/github/stars/Raffinert/AlephMapper?style=social) 2026-06-29 @@ -8,15 +8,13 @@ Number RSCG: 9 3 [Dapper.AOT](/docs/Dapper.AOT) [![Nuget](https://img.shields.io/nuget/dt/Dapper.AOT?label=Dapper.AOT)](https://www.nuget.org/packages/Dapper.AOT/) ![GitHub Repo stars](https://img.shields.io/github/stars/DapperLib/DapperAOT?style=social) 2024-12-02 - 4 [EntityLengths.Generator](/docs/EntityLengths.Generator) [![Nuget](https://img.shields.io/nuget/dt/EntityLengths.Generator?label=EntityLengths.Generator)](https://www.nuget.org/packages/EntityLengths.Generator/) ![GitHub Repo stars](https://img.shields.io/github/stars/TarasKovalenko/EntityLengths.Generator?style=social) 2025-02-19 + 4 [Facet.Search](/docs/Facet.Search) [![Nuget](https://img.shields.io/nuget/dt/Facet.Search?label=Facet.Search)](https://www.nuget.org/packages/Facet.Search/) ![GitHub Repo stars](https://img.shields.io/github/stars/Tim-Maes/Facet.Search?style=social) 2025-12-17 - 5 [Facet.Search](/docs/Facet.Search) [![Nuget](https://img.shields.io/nuget/dt/Facet.Search?label=Facet.Search)](https://www.nuget.org/packages/Facet.Search/) ![GitHub Repo stars](https://img.shields.io/github/stars/Tim-Maes/Facet.Search?style=social) 2025-12-17 + 5 [Finch.Generators](/docs/Finch.Generators) [![Nuget](https://img.shields.io/nuget/dt/Finch.Generators?label=Finch.Generators)](https://www.nuget.org/packages/Finch.Generators/) ![GitHub Repo stars](https://img.shields.io/github/stars/ivmazurenko/finch?style=social) 2025-08-10 - 6 [Finch.Generators](/docs/Finch.Generators) [![Nuget](https://img.shields.io/nuget/dt/Finch.Generators?label=Finch.Generators)](https://www.nuget.org/packages/Finch.Generators/) ![GitHub Repo stars](https://img.shields.io/github/stars/ivmazurenko/finch?style=social) 2025-08-10 + 6 [Gedaq](/docs/Gedaq) [![Nuget](https://img.shields.io/nuget/dt/Gedaq?label=Gedaq)](https://www.nuget.org/packages/Gedaq/) ![GitHub Repo stars](https://img.shields.io/github/stars/SoftStoneDevelop/Gedaq?style=social) 2023-07-29 - 7 [Gedaq](/docs/Gedaq) [![Nuget](https://img.shields.io/nuget/dt/Gedaq?label=Gedaq)](https://www.nuget.org/packages/Gedaq/) ![GitHub Repo stars](https://img.shields.io/github/stars/SoftStoneDevelop/Gedaq?style=social) 2023-07-29 + 7 [TableStorage](/docs/TableStorage) [![Nuget](https://img.shields.io/nuget/dt/TableStorage?label=TableStorage)](https://www.nuget.org/packages/TableStorage/) ![GitHub Repo stars](https://img.shields.io/github/stars/StevenThuriot/TableStorage?style=social) 2024-06-01 - 8 [TableStorage](/docs/TableStorage) [![Nuget](https://img.shields.io/nuget/dt/TableStorage?label=TableStorage)](https://www.nuget.org/packages/TableStorage/) ![GitHub Repo stars](https://img.shields.io/github/stars/StevenThuriot/TableStorage?style=social) 2024-06-01 - - 9 [Unflat](/docs/Unflat) [![Nuget](https://img.shields.io/nuget/dt/Unflat?label=Unflat)](https://www.nuget.org/packages/Unflat/) ![GitHub Repo stars](https://img.shields.io/github/stars/pstlnce/unflat?style=social) 2025-08-18 + 8 [Unflat](/docs/Unflat) [![Nuget](https://img.shields.io/nuget/dt/Unflat?label=Unflat)](https://www.nuget.org/packages/Unflat/) ![GitHub Repo stars](https://img.shields.io/github/stars/pstlnce/unflat?style=social) 2025-08-18 \ No newline at end of file diff --git a/v2/rscg_examples_site/docs/Categories/EntityFramework.md b/v2/rscg_examples_site/docs/Categories/EntityFramework.md new file mode 100644 index 000000000..70e00a0ab --- /dev/null +++ b/v2/rscg_examples_site/docs/Categories/EntityFramework.md @@ -0,0 +1,8 @@ +

EntityFramework

+ +Number RSCG: 2 + + 1 [Atulin.AutoDbSet](/docs/Atulin.AutoDbSet) [![Nuget](https://img.shields.io/nuget/dt/Atulin.AutoDbSet?label=Atulin.AutoDbSet)](https://www.nuget.org/packages/Atulin.AutoDbSet/) ![GitHub Repo stars](https://img.shields.io/github/stars/Atulin/AutoDbSet?style=social) 2025-08-04 + + 2 [EntityLengths.Generator](/docs/EntityLengths.Generator) [![Nuget](https://img.shields.io/nuget/dt/EntityLengths.Generator?label=EntityLengths.Generator)](https://www.nuget.org/packages/EntityLengths.Generator/) ![GitHub Repo stars](https://img.shields.io/github/stars/TarasKovalenko/EntityLengths.Generator?style=social) 2025-02-19 + \ No newline at end of file diff --git a/v2/rscg_examples_site/docs/Categories/_PrimitiveDatabase.mdx b/v2/rscg_examples_site/docs/Categories/_PrimitiveDatabase.mdx index f769e62ec..71c94dfc9 100644 --- a/v2/rscg_examples_site/docs/Categories/_PrimitiveDatabase.mdx +++ b/v2/rscg_examples_site/docs/Categories/_PrimitiveDatabase.mdx @@ -6,17 +6,15 @@ 3 [Dapper.AOT](/docs/Dapper.AOT) [![Nuget](https://img.shields.io/nuget/dt/Dapper.AOT?label=Dapper.AOT)](https://www.nuget.org/packages/Dapper.AOT/) ![GitHub Repo stars](https://img.shields.io/github/stars/DapperLib/DapperAOT?style=social) 2024-12-02 - 4 [EntityLengths.Generator](/docs/EntityLengths.Generator) [![Nuget](https://img.shields.io/nuget/dt/EntityLengths.Generator?label=EntityLengths.Generator)](https://www.nuget.org/packages/EntityLengths.Generator/) ![GitHub Repo stars](https://img.shields.io/github/stars/TarasKovalenko/EntityLengths.Generator?style=social) 2025-02-19 + 4 [Facet.Search](/docs/Facet.Search) [![Nuget](https://img.shields.io/nuget/dt/Facet.Search?label=Facet.Search)](https://www.nuget.org/packages/Facet.Search/) ![GitHub Repo stars](https://img.shields.io/github/stars/Tim-Maes/Facet.Search?style=social) 2025-12-17 - 5 [Facet.Search](/docs/Facet.Search) [![Nuget](https://img.shields.io/nuget/dt/Facet.Search?label=Facet.Search)](https://www.nuget.org/packages/Facet.Search/) ![GitHub Repo stars](https://img.shields.io/github/stars/Tim-Maes/Facet.Search?style=social) 2025-12-17 + 5 [Finch.Generators](/docs/Finch.Generators) [![Nuget](https://img.shields.io/nuget/dt/Finch.Generators?label=Finch.Generators)](https://www.nuget.org/packages/Finch.Generators/) ![GitHub Repo stars](https://img.shields.io/github/stars/ivmazurenko/finch?style=social) 2025-08-10 - 6 [Finch.Generators](/docs/Finch.Generators) [![Nuget](https://img.shields.io/nuget/dt/Finch.Generators?label=Finch.Generators)](https://www.nuget.org/packages/Finch.Generators/) ![GitHub Repo stars](https://img.shields.io/github/stars/ivmazurenko/finch?style=social) 2025-08-10 + 6 [Gedaq](/docs/Gedaq) [![Nuget](https://img.shields.io/nuget/dt/Gedaq?label=Gedaq)](https://www.nuget.org/packages/Gedaq/) ![GitHub Repo stars](https://img.shields.io/github/stars/SoftStoneDevelop/Gedaq?style=social) 2023-07-29 - 7 [Gedaq](/docs/Gedaq) [![Nuget](https://img.shields.io/nuget/dt/Gedaq?label=Gedaq)](https://www.nuget.org/packages/Gedaq/) ![GitHub Repo stars](https://img.shields.io/github/stars/SoftStoneDevelop/Gedaq?style=social) 2023-07-29 + 7 [TableStorage](/docs/TableStorage) [![Nuget](https://img.shields.io/nuget/dt/TableStorage?label=TableStorage)](https://www.nuget.org/packages/TableStorage/) ![GitHub Repo stars](https://img.shields.io/github/stars/StevenThuriot/TableStorage?style=social) 2024-06-01 - 8 [TableStorage](/docs/TableStorage) [![Nuget](https://img.shields.io/nuget/dt/TableStorage?label=TableStorage)](https://www.nuget.org/packages/TableStorage/) ![GitHub Repo stars](https://img.shields.io/github/stars/StevenThuriot/TableStorage?style=social) 2024-06-01 - - 9 [Unflat](/docs/Unflat) [![Nuget](https://img.shields.io/nuget/dt/Unflat?label=Unflat)](https://www.nuget.org/packages/Unflat/) ![GitHub Repo stars](https://img.shields.io/github/stars/pstlnce/unflat?style=social) 2025-08-18 + 8 [Unflat](/docs/Unflat) [![Nuget](https://img.shields.io/nuget/dt/Unflat?label=Unflat)](https://www.nuget.org/packages/Unflat/) ![GitHub Repo stars](https://img.shields.io/github/stars/pstlnce/unflat?style=social) 2025-08-18 ### See category diff --git a/v2/rscg_examples_site/docs/Categories/_PrimitiveEntityFramework.mdx b/v2/rscg_examples_site/docs/Categories/_PrimitiveEntityFramework.mdx new file mode 100644 index 000000000..522857636 --- /dev/null +++ b/v2/rscg_examples_site/docs/Categories/_PrimitiveEntityFramework.mdx @@ -0,0 +1,9 @@ +### Category "EntityFramework" has the following generators: + + 1 [Atulin.AutoDbSet](/docs/Atulin.AutoDbSet) [![Nuget](https://img.shields.io/nuget/dt/Atulin.AutoDbSet?label=Atulin.AutoDbSet)](https://www.nuget.org/packages/Atulin.AutoDbSet/) ![GitHub Repo stars](https://img.shields.io/github/stars/Atulin/AutoDbSet?style=social) 2025-08-04 + + 2 [EntityLengths.Generator](/docs/EntityLengths.Generator) [![Nuget](https://img.shields.io/nuget/dt/EntityLengths.Generator?label=EntityLengths.Generator)](https://www.nuget.org/packages/EntityLengths.Generator/) ![GitHub Repo stars](https://img.shields.io/github/stars/TarasKovalenko/EntityLengths.Generator?style=social) 2025-02-19 + +### See category + +[EntityFramework](/docs/Categories/EntityFramework) diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/index.md b/v2/rscg_examples_site/docs/RSCG-Examples/index.md index 797c717cc..8c8bb8058 100644 --- a/v2/rscg_examples_site/docs/RSCG-Examples/index.md +++ b/v2/rscg_examples_site/docs/RSCG-Examples/index.md @@ -1,7 +1,7 @@ --- sidebar_position: 30 -title: 277 RSCG list by category -description: 277 RSCG list by category +title: 278 RSCG list by category +description: 278 RSCG list by category slug: /rscg-examples --- @@ -393,7 +393,7 @@ import DocCardList from '@theme/DocCardList'; ## Database
- Expand Database =>examples:9 + Expand Database =>examples:8 @@ -417,11 +417,6 @@ import DocCardList from '@theme/DocCardList'; -[EntityLengths.Generator](/docs/EntityLengths.Generator) - - - - [Finch.Generators](/docs/Finch.Generators) @@ -839,6 +834,23 @@ import DocCardList from '@theme/DocCardList';
+## EntityFramework +
+ + Expand EntityFramework =>examples:2 + + + +[EntityLengths.Generator](/docs/EntityLengths.Generator) + + + + +[Atulin.AutoDbSet](/docs/Atulin.AutoDbSet) + +
+ + ## Enum
@@ -1847,8 +1859,6 @@ flowchart LR; Database--> Dapper.AOT((Dapper.AOT)) - Database--> EntityLengths.Generator((EntityLengths.Generator)) - Database--> Finch.Generators((Finch.Generators)) Database--> Unflat((Unflat)) @@ -1999,6 +2009,10 @@ flowchart LR; EnhancementProject--> Bennewitz.Ninja.AutoVersioning((Bennewitz.Ninja.AutoVersioning)) + EntityFramework--> EntityLengths.Generator((EntityLengths.Generator)) + + EntityFramework--> Atulin.AutoDbSet((Atulin.AutoDbSet)) + Enum--> NetEscapades.EnumGenerators((NetEscapades.EnumGenerators)) Enum--> EnumClass((EnumClass)) diff --git a/v2/rscg_examples_site/docs/about.md b/v2/rscg_examples_site/docs/about.md index cb2cbce29..105ed1587 100644 --- a/v2/rscg_examples_site/docs/about.md +++ b/v2/rscg_examples_site/docs/about.md @@ -6,7 +6,7 @@ title: About ## Content You will find here code examples -of 277 Roslyn Source Code Generator (RSCG) +of 278 Roslyn Source Code Generator (RSCG) that can be useful for you. That means, you will write more elegant and concise code - even if the generators code is not always nice to look. ## Are those examples ready for production? diff --git a/v2/rscg_examples_site/docs/indexRSCG.md b/v2/rscg_examples_site/docs/indexRSCG.md index 2010727bb..e6351f0d5 100644 --- a/v2/rscg_examples_site/docs/indexRSCG.md +++ b/v2/rscg_examples_site/docs/indexRSCG.md @@ -7,9 +7,9 @@ slug: /List-of-RSCG import useBaseUrl from '@docusaurus/useBaseUrl'; -## 277 RSCG with examples in descending chronological order +## 278 RSCG with examples in descending chronological order -This is the list of 277 ( 16 from Microsoft) RSCG with examples +This is the list of 278 ( 16 from Microsoft) RSCG with examples [See by category](/docs/rscg-examples) [See as json](/exports/RSCG.json) [See as Excel](/exports/RSCG.xlsx) @@ -20,6 +20,7 @@ This is the list of 277 ( 16 from Microsoft) RSCG with examples | No | Name | Date | Category | | --------- | ----- | ---- | -------- | +|278| [Atulin.AutoDbSet by Angius Atulin ](/docs/Atulin.AutoDbSet)|2025-08-04 => 04 August 2025 | [EntityFramework](/docs/Categories/EntityFramework) | |277| [Bennewitz.Ninja.AutoVersioning by Brian Bennewitz ](/docs/Bennewitz.Ninja.AutoVersioning)|2026-07-04 => 04 July 2026 | [EnhancementProject](/docs/Categories/EnhancementProject) | |276| [TinyBDD.MSTest by Jerrett Davis ](/docs/TinyBDD.MSTest)|2026-07-03 => 03 July 2026 | [Tests](/docs/Categories/Tests) | |275| [Porticle.Enumly by Carsten Jendro ](/docs/Porticle.Enumly)|2026-07-02 => 02 July 2026 | [Enum](/docs/Categories/Enum) | @@ -110,7 +111,7 @@ This is the list of 277 ( 16 from Microsoft) RSCG with examples |190| [PMart.Enumeration by Martinho ](/docs/PMart.Enumeration)|2025-03-25 => 25 March 2025 | [Enum](/docs/Categories/Enum) | |189| [MemberAccessor by Yamaokuno ](/docs/MemberAccessor)|2025-03-24 => 24 March 2025 | [EnhancementClass](/docs/Categories/EnhancementClass) | |188| [StepwiseBuilderGenerator by Georgiy Petrov ](/docs/StepwiseBuilderGenerator)|2025-03-23 => 23 March 2025 | [Builder](/docs/Categories/Builder) | -|187| [EntityLengths.Generator by Taras Kovalenko ](/docs/EntityLengths.Generator)|2025-02-19 => 19 February 2025 | [Database](/docs/Categories/Database) | +|187| [EntityLengths.Generator by Taras Kovalenko ](/docs/EntityLengths.Generator)|2025-02-19 => 19 February 2025 | [EntityFramework](/docs/Categories/EntityFramework) | |186| [RSCG_CompositeProvider by Ignat Andrei ](/docs/RSCG_CompositeProvider)|2025-02-18 => 18 February 2025 | [Interface](/docs/Categories/Interface) | |185| [DependencyModules.SourceGenerator by Ian Johnson ](/docs/DependencyModules.SourceGenerator)|2025-02-16 => 16 February 2025 | [DependencyInjection](/docs/Categories/DependencyInjection) | |184| [MockMe by connorivy ](/docs/MockMe)|2025-02-10 => 10 February 2025 | [Tests](/docs/Categories/Tests) | diff --git a/v2/rscg_examples_site/src/components/HomepageFeatures/index.js b/v2/rscg_examples_site/src/components/HomepageFeatures/index.js index aa7c60932..8052e4ba6 100644 --- a/v2/rscg_examples_site/src/components/HomepageFeatures/index.js +++ b/v2/rscg_examples_site/src/components/HomepageFeatures/index.js @@ -4,7 +4,7 @@ import styles from './styles.module.css'; const FeatureList = [ { -title: '277 Examples (16 from MSFT)', +title: '278 Examples (16 from MSFT)', Svg: require('@site/static/img/undraw_docusaurus_mountain.svg').default, description: ( <> diff --git a/v2/rscg_examples_site/static/exports/RSCG.json b/v2/rscg_examples_site/static/exports/RSCG.json index e5eb212ef..b1823be3d 100644 --- a/v2/rscg_examples_site/static/exports/RSCG.json +++ b/v2/rscg_examples_site/static/exports/RSCG.json @@ -1495,7 +1495,7 @@ "Link": "https://ignatandrei.github.io/RSCG_Examples/v2/docs/EntityLengths.Generator", "NuGet": "https://www.nuget.org/packages/EntityLengths.Generator/", "Source": "https://github.com/TarasKovalenko/EntityLengths.Generator/", - "Category": "Database", + "Category": "EntityFramework", "AddedOn": "2025-02-19T00:00:00" }, { @@ -2217,6 +2217,14 @@ "Source": "https://github.com/JanusMael/Bennewitz.Ninja.AutoVersioning", "Category": "EnhancementProject", "AddedOn": "2026-07-04T00:00:00" + }, + { + "Name": "Atulin.AutoDbSet", + "Link": "https://ignatandrei.github.io/RSCG_Examples/v2/docs/Atulin.AutoDbSet", + "NuGet": "https://www.nuget.org/packages/Atulin.AutoDbSet/", + "Source": "https://github.com/Atulin/AutoDbSet", + "Category": "EntityFramework", + "AddedOn": "2025-08-04T00:00:00" } ] } \ No newline at end of file diff --git a/v2/rscg_examples_site/static/exports/RSCG.xlsx b/v2/rscg_examples_site/static/exports/RSCG.xlsx index b31bd835371bc4a8039049ddda9c930e2368913f..57bad84aa850ce91a624a84d580e59665570a8b7 100644 GIT binary patch delta 4086 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 NK2lwZ#T@Y`^IuB)o2mc+ delta 4063 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 From 47e2b720fc34ebc585adb479a8f7b857900bf430 Mon Sep 17 00:00:00 2001 From: Andrei Ignat Date: Tue, 18 Aug 2026 22:07:50 +0300 Subject: [PATCH 3/3] ok --- README.md | 4 +- later.md | 2 +- v2/GeneratorData/Category.cs | 2 +- v2/RSCGExamplesData/GeneratorDataRec.json | 2 +- v2/book/examples/Atulin.AutoDbSet.html | 75 +++ .../Bennewitz.Ninja.AutoVersioning.html | 58 +++ v2/book/list.html | 10 +- v2/book/pandocHTML.yaml | 2 + v2/docFind.json | 14 +- .../docs/Authors/Angius_Atulin.md | 2 +- .../docs/Categories/EntityFramework.md | 2 +- .../Categories/_PrimitiveEntityFramework.mdx | 2 +- .../docs/RSCG-Examples/Atulin.AutoDbSet.md | 435 ++++++++++++++++++ v2/rscg_examples_site/docs/indexRSCG.md | 2 +- .../static/exports/RSCG.json | 2 +- .../static/sources/Atulin.AutoDbSet.zip | Bin 0 -> 2799 bytes 16 files changed, 602 insertions(+), 12 deletions(-) create mode 100644 v2/book/examples/Atulin.AutoDbSet.html create mode 100644 v2/book/examples/Bennewitz.Ninja.AutoVersioning.html create mode 100644 v2/rscg_examples_site/docs/RSCG-Examples/Atulin.AutoDbSet.md create mode 100644 v2/rscg_examples_site/static/sources/Atulin.AutoDbSet.zip diff --git a/README.md b/README.md index 24d4a683a..c99573bef 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ The RSCG_Examples repository is a comprehensive documentation system that automa This system serves as both a learning resource for .NET developers interested in source generators and an automated pipeline for maintaining up-to-date documentation about the RSCG ecosystem -## Latest Update : 2026-07-04 => 04 July 2026 +## Latest Update : 2026-08-18 => 18 August 2026 If you want to see examples with code, please click ***[List V2](https://ignatandrei.github.io/RSCG_Examples/v2/docs/List-of-RSCG)*** @@ -28,7 +28,7 @@ Those are the 278 Roslyn Source Code Generators that I have tested you can see a ( including 16 from Microsoft ) ### 278. [Atulin.AutoDbSet](https://ignatandrei.github.io/RSCG_Examples/v2/docs/Atulin.AutoDbSet) , in the [EntityFramework](https://ignatandrei.github.io/RSCG_Examples/v2/docs/rscg-examples#entityframework) category -Generated on : 2025-08-04 => 04 August 2025 +Generated on : 2026-08-18 => 18 August 2026
Expand diff --git a/later.md b/later.md index 736db985d..7c77384b0 100644 --- a/later.md +++ b/later.md @@ -1,6 +1,6 @@ # Just later -## Latest Update : 2026-07-04 => 04 July 2026 +## Latest Update : 2026-08-18 => 18 August 2026 diff --git a/v2/GeneratorData/Category.cs b/v2/GeneratorData/Category.cs index 632a97990..aed031285 100644 --- a/v2/GeneratorData/Category.cs +++ b/v2/GeneratorData/Category.cs @@ -50,6 +50,6 @@ public enum Category Idempotency=45, Documentation=46, Audit = 47, - EntityFramework = 48, + EntityFramework = 48, } diff --git a/v2/RSCGExamplesData/GeneratorDataRec.json b/v2/RSCGExamplesData/GeneratorDataRec.json index 302574496..d6f25daea 100644 --- a/v2/RSCGExamplesData/GeneratorDataRec.json +++ b/v2/RSCGExamplesData/GeneratorDataRec.json @@ -1682,7 +1682,7 @@ { "ID":"Atulin.AutoDbSet", "Category": 48, - "dtStart": "2025-08-04T00:00:00", + "dtStart": "2026-08-18T00:00:00", "show": true } ] \ No newline at end of file diff --git a/v2/book/examples/Atulin.AutoDbSet.html b/v2/book/examples/Atulin.AutoDbSet.html new file mode 100644 index 000000000..1108509f4 --- /dev/null +++ b/v2/book/examples/Atulin.AutoDbSet.html @@ -0,0 +1,75 @@ + +

RSCG nr 278 : Atulin.AutoDbSet

+ +

Info

+Nuget : https://www.nuget.org/packages/Atulin.AutoDbSet/ + +

You can find more details at : https://github.com/Atulin/AutoDbSet

+ +

Author :Angius Atulin

+ +

Source: https://github.com/Atulin/AutoDbSet

+ +

About

+ +Generating DbSet properties for Entity Framework Core DbContext classes + +

+ How to use +

+

+ Add reference to the Atulin.AutoDbSet in the csproj +

+ + +

This was for me the starting code

+ +
+ I have coded the file Program.cs +
+ +
+ +
+ I have coded the file Project.cs +
+ +
+ +
+ I have coded the file DotNetStatsContext.cs +
+ +
+

And here are the generated files

+ +
+ The file generated is AutoDbSetAttribute.g.cs +
+ + +
+ The file generated is DbContextAttribute.g.cs +
+ + +
+ The file generated is DotNetStatsContext.g.cs +
+ + +

+ You can download the code and this page as pdf from + + https://ignatandrei.github.io/RSCG_Examples/v2/docs/Atulin.AutoDbSet + +

+ + +

+ You can see the whole list at + + https://ignatandrei.github.io/RSCG_Examples/v2/docs/List-of-RSCG + +

+ diff --git a/v2/book/examples/Bennewitz.Ninja.AutoVersioning.html b/v2/book/examples/Bennewitz.Ninja.AutoVersioning.html new file mode 100644 index 000000000..914290750 --- /dev/null +++ b/v2/book/examples/Bennewitz.Ninja.AutoVersioning.html @@ -0,0 +1,58 @@ + +

RSCG nr 277 : Bennewitz.Ninja.AutoVersioning

+ +

Info

+Nuget : https://www.nuget.org/packages/Bennewitz.Ninja.AutoVersioning/ + +

You can find more details at : https://github.com/JanusMael/Bennewitz.Ninja.AutoVersioning

+ +

Author :Brian Bennewitz

+ +

Source: https://github.com/JanusMael/Bennewitz.Ninja.AutoVersioning

+ +

About

+ +Generating build version numbers for .NET projects + +

+ How to use +

+

+ Add reference to the Bennewitz.Ninja.AutoVersioning in the csproj +

+ + +

This was for me the starting code

+ +
+ I have coded the file Program.cs +
+ +
+

And here are the generated files

+ +
+ The file generated is AutoVersionedAssemblyInfo.g.cs +
+ + +
+ The file generated is DirectoryBuildInfo.g.cs +
+ + +

+ You can download the code and this page as pdf from + + https://ignatandrei.github.io/RSCG_Examples/v2/docs/Bennewitz.Ninja.AutoVersioning + +

+ + +

+ You can see the whole list at + + https://ignatandrei.github.io/RSCG_Examples/v2/docs/List-of-RSCG + +

+ diff --git a/v2/book/list.html b/v2/book/list.html index 7b27cfa63..07f177f04 100644 --- a/v2/book/list.html +++ b/v2/book/list.html @@ -17,7 +17,7 @@

-This is the list of 276 RSCG with examples => +This is the list of 278 RSCG with examples =>

@@ -1130,6 +1130,14 @@

+ + + + + + + +
276 TinyBDD.MSTest
277Bennewitz.Ninja.AutoVersioning
278Atulin.AutoDbSet
diff --git a/v2/book/pandocHTML.yaml b/v2/book/pandocHTML.yaml index 9da9a4880..ad1a40133 100644 --- a/v2/book/pandocHTML.yaml +++ b/v2/book/pandocHTML.yaml @@ -290,6 +290,8 @@ input-files: - examples/Dirge.html - examples/Porticle.Enumly.html - examples/TinyBDD.MSTest.html +- examples/Bennewitz.Ninja.AutoVersioning.html +- examples/Atulin.AutoDbSet.html # or you may use input-file: with a single value # defaults: diff --git a/v2/docFind.json b/v2/docFind.json index d05932c5e..f8690632d 100644 --- a/v2/docFind.json +++ b/v2/docFind.json @@ -1117,7 +1117,7 @@ }, { "title": "EntityLengths.Generator", - "category": "Database", + "category": "EntityFramework", "href": "/RSCG_Examples/v2/docs/EntityLengths.Generator/", "body": "A C# source generator that automatically generates string length constants from Entity Framework configurations and data annotations." }, @@ -1654,5 +1654,17 @@ "category": "Tests", "href": "/RSCG_Examples/v2/docs/TinyBDD.MSTest/", "body": "Package Description" + }, + { + "title": "Bennewitz.Ninja.AutoVersioning", + "category": "EnhancementProject", + "href": "/RSCG_Examples/v2/docs/Bennewitz.Ninja.AutoVersioning/", + "body": "Assembly info incremental source generator." + }, + { + "title": "Atulin.AutoDbSet", + "category": "EntityFramework", + "href": "/RSCG_Examples/v2/docs/Atulin.AutoDbSet/", + "body": "Package Description" } ] \ No newline at end of file diff --git a/v2/rscg_examples_site/docs/Authors/Angius_Atulin.md b/v2/rscg_examples_site/docs/Authors/Angius_Atulin.md index 13e9f2eb3..de05d1750 100644 --- a/v2/rscg_examples_site/docs/Authors/Angius_Atulin.md +++ b/v2/rscg_examples_site/docs/Authors/Angius_Atulin.md @@ -3,5 +3,5 @@ Number RSCG: 1 - 1 [Atulin.AutoDbSet](/docs/Atulin.AutoDbSet) [![Nuget](https://img.shields.io/nuget/dt/Atulin.AutoDbSet?label=Atulin.AutoDbSet)](https://www.nuget.org/packages/Atulin.AutoDbSet/) ![GitHub Repo stars](https://img.shields.io/github/stars/Atulin/AutoDbSet?style=social) 2025-08-04 + 1 [Atulin.AutoDbSet](/docs/Atulin.AutoDbSet) [![Nuget](https://img.shields.io/nuget/dt/Atulin.AutoDbSet?label=Atulin.AutoDbSet)](https://www.nuget.org/packages/Atulin.AutoDbSet/) ![GitHub Repo stars](https://img.shields.io/github/stars/Atulin/AutoDbSet?style=social) 2026-08-18 diff --git a/v2/rscg_examples_site/docs/Categories/EntityFramework.md b/v2/rscg_examples_site/docs/Categories/EntityFramework.md index 70e00a0ab..0ece30daf 100644 --- a/v2/rscg_examples_site/docs/Categories/EntityFramework.md +++ b/v2/rscg_examples_site/docs/Categories/EntityFramework.md @@ -2,7 +2,7 @@ Number RSCG: 2 - 1 [Atulin.AutoDbSet](/docs/Atulin.AutoDbSet) [![Nuget](https://img.shields.io/nuget/dt/Atulin.AutoDbSet?label=Atulin.AutoDbSet)](https://www.nuget.org/packages/Atulin.AutoDbSet/) ![GitHub Repo stars](https://img.shields.io/github/stars/Atulin/AutoDbSet?style=social) 2025-08-04 + 1 [Atulin.AutoDbSet](/docs/Atulin.AutoDbSet) [![Nuget](https://img.shields.io/nuget/dt/Atulin.AutoDbSet?label=Atulin.AutoDbSet)](https://www.nuget.org/packages/Atulin.AutoDbSet/) ![GitHub Repo stars](https://img.shields.io/github/stars/Atulin/AutoDbSet?style=social) 2026-08-18 2 [EntityLengths.Generator](/docs/EntityLengths.Generator) [![Nuget](https://img.shields.io/nuget/dt/EntityLengths.Generator?label=EntityLengths.Generator)](https://www.nuget.org/packages/EntityLengths.Generator/) ![GitHub Repo stars](https://img.shields.io/github/stars/TarasKovalenko/EntityLengths.Generator?style=social) 2025-02-19 \ No newline at end of file diff --git a/v2/rscg_examples_site/docs/Categories/_PrimitiveEntityFramework.mdx b/v2/rscg_examples_site/docs/Categories/_PrimitiveEntityFramework.mdx index 522857636..74d0807d1 100644 --- a/v2/rscg_examples_site/docs/Categories/_PrimitiveEntityFramework.mdx +++ b/v2/rscg_examples_site/docs/Categories/_PrimitiveEntityFramework.mdx @@ -1,6 +1,6 @@ ### Category "EntityFramework" has the following generators: - 1 [Atulin.AutoDbSet](/docs/Atulin.AutoDbSet) [![Nuget](https://img.shields.io/nuget/dt/Atulin.AutoDbSet?label=Atulin.AutoDbSet)](https://www.nuget.org/packages/Atulin.AutoDbSet/) ![GitHub Repo stars](https://img.shields.io/github/stars/Atulin/AutoDbSet?style=social) 2025-08-04 + 1 [Atulin.AutoDbSet](/docs/Atulin.AutoDbSet) [![Nuget](https://img.shields.io/nuget/dt/Atulin.AutoDbSet?label=Atulin.AutoDbSet)](https://www.nuget.org/packages/Atulin.AutoDbSet/) ![GitHub Repo stars](https://img.shields.io/github/stars/Atulin/AutoDbSet?style=social) 2026-08-18 2 [EntityLengths.Generator](/docs/EntityLengths.Generator) [![Nuget](https://img.shields.io/nuget/dt/EntityLengths.Generator?label=EntityLengths.Generator)](https://www.nuget.org/packages/EntityLengths.Generator/) ![GitHub Repo stars](https://img.shields.io/github/stars/TarasKovalenko/EntityLengths.Generator?style=social) 2025-02-19 diff --git a/v2/rscg_examples_site/docs/RSCG-Examples/Atulin.AutoDbSet.md b/v2/rscg_examples_site/docs/RSCG-Examples/Atulin.AutoDbSet.md new file mode 100644 index 000000000..121907df7 --- /dev/null +++ b/v2/rscg_examples_site/docs/RSCG-Examples/Atulin.AutoDbSet.md @@ -0,0 +1,435 @@ +--- +sidebar_position: 2780 +title: 278 - Atulin.AutoDbSet +description: Generating DbSet properties for Entity Framework Core DbContext classes +slug: /Atulin.AutoDbSet +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import TOCInline from '@theme/TOCInline'; +import SameCategory from '../Categories/_PrimitiveEntityFramework.mdx'; + +# Atulin.AutoDbSet by Angius Atulin + + + + +## NuGet / site data +[![Nuget](https://img.shields.io/nuget/dt/Atulin.AutoDbSet?label=Atulin.AutoDbSet)](https://www.nuget.org/packages/Atulin.AutoDbSet/) +[![GitHub last commit](https://img.shields.io/github/last-commit/Atulin/AutoDbSet?label=updated)](https://github.com/Atulin/AutoDbSet) +![GitHub Repo stars](https://img.shields.io/github/stars/Atulin/AutoDbSet?style=social) + +## Details + +### Info +:::info + +Name: **Atulin.AutoDbSet** + +Package Description + +Author: Angius Atulin + +NuGet: +*https://www.nuget.org/packages/Atulin.AutoDbSet/* + + +You can find more details at https://github.com/Atulin/AutoDbSet + +Source: https://github.com/Atulin/AutoDbSet + +::: + +### Author +:::note +Angius Atulin +![Alt text](https://github.com/Atulin.png) +::: + +## Original Readme +:::note + +[![NuGet Version](https://img.shields.io/nuget/v/Atulin.AutoDbSet?style=for-the-badge)](https://www.nuget.org/packages/Atulin.AutoDbSet/) +![NuGet Downloads](https://img.shields.io/nuget/dt/Atulin.AutoDbSet?style=for-the-badge) +![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/Atulin/AutoDbSet/publish.yml?style=for-the-badge) +[![GitHub License](https://img.shields.io/github/license/Atulin/AutoDbSet?style=for-the-badge)](https://github.com/Atulin/AutoDbSet/LICENSE) + +### AutoDbSet + +Automagically add `DbSet`s to your `DbContext` + +###### Usage + +Place `[AutoDbSet]` attribute on the database models you want to register... + +```cs +using AutoDbSetGenerators; + +namespace AutoDbSet.Demo; + +[AutoDbSet] +public class Person +{ + public required string Name \{ get; set; } + public required DateOnly Birthday \{ get; set; } + public required float Height \{ get; set; } +} +``` + +Place `[AutoDbContext]` attribute on your `DbContext` and make it `partial`... + +```cs +using AutoDbSetGenerators; +using Microsoft.EntityFrameworkCore; + +namespace AutoDbSet.Demo; + +[AutoDbContext] +public partial class MyCoolDbContext : DbContext +{ +} +``` + +And watch the magic happen! + +```cs +namespace AutoDbSet.Demo; + +[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute] +[global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage] +[global::System.CodeDom.Compiler.GeneratedCode("AutoDbSet", "2.0.0.0")] +public partial class MyCoolDbContext +{ + public required Microsoft.EntityFrameworkCore.DbSet Persons \{ get; init; } +} +``` + +###### DbSet naming + +By default `AutoDbSet` will try to naively pluralize the names ([here's how](https://github.com/Atulin/AutoDbSet/AutoDbSet/NameHelpers.cs)). It does not, +therefore, work with verbs that have irregular plural form, nor does it work with non-English languages. + +You can, however, give the sets your own, custom name: + +```cs +[AutoDbSetGenerators.AutoDbSet(Name = "People")] +public class Person +{ + public required string Name \{ get; set; } + public required DateOnly Birthday \{ get; set; } + public required float Height \{ get; set; } +} +``` + +will generate + +```cs +namespace AutoDbSet.Demo; + +[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute] +[global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage] +[global::System.CodeDom.Compiler.GeneratedCode("AutoDbSet", "1.0.0.0")] +public partial class MyCoolDbContext +{ + public required Microsoft.EntityFrameworkCore.DbSet People \{ get; init; } +} +``` + +###### Multiple `DbContext`s support + +You can relate a given class to a given `DbContext` using the `DbContext` property of the +`[AutoDbSet]` attribute: + +```cs +[AutoDbSetGenerators.AutoDbSet(DbContext = typeof(MyCoolerDbContext))] +public class CoolerPerson +{ + public required string Name \{ get; set; } + public required DateOnly Birthday \{ get; set; } + public required float Height \{ get; set; } + public bool IsCool \{ get; \} = true; +} +``` + +Classes without an explicit `DbContext` will be registered to the single `DbContext` that +was not specified in any other `[AutoDbSet]` attribute. + +> [!IMPORTANT] +> There can only be a single default `DbContext` + +###### ExpressiveSharp support + +AutoDbSet supports [ExpressiveSharp](https://github.com/EFNext/ExpressiveSharp) out of the box, +and generates `ExpressiveDbSet`s instead of `DbSet`s if it's available. + +::: + +### About +:::note + +Generating DbSet properties for Entity Framework Core DbContext classes + + +::: + +## How to use + +### Example (source csproj, source files) + + + + + +This is the CSharp Project that references **Atulin.AutoDbSet** +```xml showLineNumbers {10} + + + + Exe + net10.0 + enable + enable + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + true + $(BaseIntermediateOutputPath)\GX + + + +``` + + + + + + This is the use of **Atulin.AutoDbSet** in *Program.cs* + +```csharp showLineNumbers +using Microsoft.EntityFrameworkCore; +using System.Threading.Tasks; + +Console.WriteLine("Hello, World!"); +DbContextOptionsBuilder optionsBuilder = new(); +optionsBuilder.UseInMemoryDatabase("StatsDatabase"); +var cnt = new DotNetStatsContext(optionsBuilder.Options); +await cnt.Database.EnsureCreatedAsync(); +Console.WriteLine("Database created"); +Console.WriteLine(cnt.Projects.Count()); + +``` + + + + + This is the use of **Atulin.AutoDbSet** in *Project.cs* + +```csharp showLineNumbers +namespace Stats.Database; + +[AutoDbSetGenerators.AutoDbSet] +public partial class Project +{ + public long Id \{ get; set; } + + public string Name \{ get; set; \} = null!; + + public string SourceCodeUrl \{ get; set; \} = null!; + + public string? Description \{ get; set; } +} + +``` + + + + + This is the use of **Atulin.AutoDbSet** in *DotNetStatsContext.cs* + +```csharp showLineNumbers + +using System.Diagnostics.CodeAnalysis; + +namespace Stats.Database; + +[AutoDbSetGenerators.AutoDbContext] +public partial class DotNetStatsContext : DbContext +{ + [SetsRequiredMembers] + internal DotNetStatsContext() : base() { + Stars = Set(); + Projects = Set(); + } + [SetsRequiredMembers] + public DotNetStatsContext(DbContextOptions options) + : base(options) + { + Stars = Set(); + Projects = Set(); + } + + protected override void OnModelCreating(ModelBuilder modelBuilder) + { + modelBuilder.Entity(entity => + { + //entity.ToTable("Project"); + + entity.Property(e => e.Id);//.HasColumnName("ID"); + entity.Property(e => e.Description).HasMaxLength(500); + entity.Property(e => e.Name).HasMaxLength(50); + entity.Property(e => e.SourceCodeUrl).HasMaxLength(50); + }); + + modelBuilder.Entity(entity => + { + // entity.Property(e => e.Id) + // .HasColumnName("ID"); + // entity.Property(e => e.Idproject).HasColumnName("IDProject"); + }); + + OnModelCreatingPartial(modelBuilder); + } + + partial void OnModelCreatingPartial(ModelBuilder modelBuilder); +} + +``` + + + + +### Generated Files + +Those are taken from $(BaseIntermediateOutputPath)\GX + + + + +```csharp showLineNumbers +//------------------------------------------------------------------------------ +// +// This code was generated by a tool AutoDbSet. +// Runtime Version: 2.0.0.0 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace AutoDbSetGenerators; + +/// +/// Marks the class to generate a DbSet out of +/// +[global::System.AttributeUsage(System.AttributeTargets.Class)] +[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute] +[global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage] +[global::System.CodeDom.Compiler.GeneratedCode("AutoDbSet", "2.0.0.0")] +public sealed class AutoDbSetAttribute : global::System.Attribute +{ + /// + /// Sets name to be used in the database. + /// + public string? Name \{ get; set; } + + /// + /// DbContext this DbSet should belong to + /// + public global::System.Type? DbContext \{ get; set; } +} +#nullable restore +``` + + + + +```csharp showLineNumbers +//------------------------------------------------------------------------------ +// +// This code was generated by a tool AutoDbSet. +// Runtime Version: 2.0.0.0 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable +namespace AutoDbSetGenerators; + +/// +/// Marks the DbContext to generate DbSets into +/// +[global::System.AttributeUsage(System.AttributeTargets.Class)] +[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute] +[global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage] +[global::System.CodeDom.Compiler.GeneratedCode("AutoDbSet", "2.0.0.0")] +public sealed class AutoDbContextAttribute : global::System.Attribute +{} +#nullable restore +``` + + + + +```csharp showLineNumbers +//------------------------------------------------------------------------------ +// +// This code was generated by a tool AutoDbSet. +// Runtime Version: 2.0.0.0 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ +#nullable enable + +namespace Stats.Database; + +[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute] +[global::System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverage] +[global::System.CodeDom.Compiler.GeneratedCode("AutoDbSet", "2.0.0.0")] +public partial class DotNetStatsContext +{ + public required Microsoft.EntityFrameworkCore.DbSet Projects \{ get; init; } + public required Microsoft.EntityFrameworkCore.DbSet Stars \{ get; init; } + +} +#nullable restore +``` + + + + +## Useful + +### Download Example (.NET C#) + +:::tip + +[Download Example project Atulin.AutoDbSet ](/sources/Atulin.AutoDbSet.zip) + +::: + + +### Share Atulin.AutoDbSet + + + +https://ignatandrei.github.io/RSCG_Examples/v2/docs/Atulin.AutoDbSet + + + diff --git a/v2/rscg_examples_site/docs/indexRSCG.md b/v2/rscg_examples_site/docs/indexRSCG.md index e6351f0d5..973078e5b 100644 --- a/v2/rscg_examples_site/docs/indexRSCG.md +++ b/v2/rscg_examples_site/docs/indexRSCG.md @@ -20,7 +20,7 @@ This is the list of 278 ( 16 from Microsoft) RSCG with examples | No | Name | Date | Category | | --------- | ----- | ---- | -------- | -|278| [Atulin.AutoDbSet by Angius Atulin ](/docs/Atulin.AutoDbSet)|2025-08-04 => 04 August 2025 | [EntityFramework](/docs/Categories/EntityFramework) | +|278| [Atulin.AutoDbSet by Angius Atulin ](/docs/Atulin.AutoDbSet)|2026-08-18 => 18 August 2026 | [EntityFramework](/docs/Categories/EntityFramework) | |277| [Bennewitz.Ninja.AutoVersioning by Brian Bennewitz ](/docs/Bennewitz.Ninja.AutoVersioning)|2026-07-04 => 04 July 2026 | [EnhancementProject](/docs/Categories/EnhancementProject) | |276| [TinyBDD.MSTest by Jerrett Davis ](/docs/TinyBDD.MSTest)|2026-07-03 => 03 July 2026 | [Tests](/docs/Categories/Tests) | |275| [Porticle.Enumly by Carsten Jendro ](/docs/Porticle.Enumly)|2026-07-02 => 02 July 2026 | [Enum](/docs/Categories/Enum) | diff --git a/v2/rscg_examples_site/static/exports/RSCG.json b/v2/rscg_examples_site/static/exports/RSCG.json index b1823be3d..fbc42e3d5 100644 --- a/v2/rscg_examples_site/static/exports/RSCG.json +++ b/v2/rscg_examples_site/static/exports/RSCG.json @@ -2224,7 +2224,7 @@ "NuGet": "https://www.nuget.org/packages/Atulin.AutoDbSet/", "Source": "https://github.com/Atulin/AutoDbSet", "Category": "EntityFramework", - "AddedOn": "2025-08-04T00:00:00" + "AddedOn": "2026-08-18T00:00:00" } ] } \ No newline at end of file diff --git a/v2/rscg_examples_site/static/sources/Atulin.AutoDbSet.zip b/v2/rscg_examples_site/static/sources/Atulin.AutoDbSet.zip new file mode 100644 index 0000000000000000000000000000000000000000..2421116197ad8d596bb7cbfd57b921d20a8c52d2 GIT binary patch literal 2799 zcmZ`*2{cp<8@^~VLUzIohRGn=l4Q%in}%c=>x_`f3}(m@vX`u5DEi9SMOtJ^kqTML zR+fw;O6ilV2~GHJ=X~cMeaCA@2aqF7eFKRqq%(vv%3Z=+HU8u&XrC^0ngSq2J< zx?^IDVqVd@la`LJo-XJ3evw-iu^!C!(Ip7fzkRpf{;_>?_3J{#Tr_5>t(JX>;;g)sHocV^(hv!%W54Zpg2O z+|X)2>xSMZIXx=T7v^-1AC8cFeSs@aAj_eEo#MCWj>5C^pOFZ4e>ugmVBK*g|2V?06SN}P?xP*t(E#|wVrhA8$=h0gy~ekd#_F% z`Z%@DWFFn4=`<~({3h?NwT7b8h)Z6Q-RJVw1N#R?taW)4)cT5z-7c}?I^zQ=T%r%} z42#V5NNBk>nHpH6BZsr>e)^M2#0ysqc&6o@YtLi(ZHj1^W^4zK7vd~cimPy(zKxK$CLE-8)x~!E8dpDSy3&JKE25V6$h(FOCH9*9Ps%SSr=;Ee_XlBzF92 zjrRf!;A*{`B5OuxzeK=i9{B~-=`-58o_?o?XHBLIEB~5{YYfwvsd9;rFqL(c)st{- zrh95zR30w!_Rp_;X>iCP*AkOX2@L&sYSHZ8AiUhw0}%PBfP5uZxewpLnod@9TP@ z!e(IKh5%d|9-UPZJ>|5-8Fjh5i2beCqVA2y$lj~E4EoP88Rp9Ma^{0IQAS(bvJ~wm zlPE#Fm-gg`u1}NtlwE9#spNfF*KGRi?IMra7)1E{$&7CG^(|T`t`hVpmCU4Nfm#^k z007vZTG%rFKBS-!;;FJ@FVQV({CWwkM_dFr>ygyc{gz1vR1+HrBzXLT{9F9=@T*AP zM6ZueQ48F|2&KJ^yGLv9l`yU`R+rcIUN34&NEOp1D~((uj=v)5+>n_3RP|)p4VbI`)RwO6C-X>bvg z#hu-qjuJvzK2g6jFpyL6OchPc!~VUr2iQr9(RTWj&jtKsMtt!i~~NyI3U>1^HDs}FT_43I0k$1 z`e{!qKdUk~dpzM(M2!7?QjC4oK~=HT595?p3SR$mE2Xux6`!RHu(Hlp3wo%WpORbv zvlW3F`cGC&2+=(p(hTECm^Q<>@!#sW(0v9S}0^ zX^WQ&hRl?@3O}lwiYA)B?|pN&Mdi$3v#W8N*sCQO^dm`)gLRe->|8zNIdRx9Wz5&X zeQ`HFqb1Hm%M*H&2(L|zmQfQoA*15b6FIJCU zfy^X7To$YVdnCJUk52je{5IL#45MAmYW!v^aih3KLsg7vYka*xQN5s8KUpFBN@CZE z<9hkrnUf;6MyAix3nx?!<_>JeJdV&4ve4X7Lkk+Dd8gRYov`pcSL1#<^7JAVWBg${ z7fw%oNE$M1MT)}rq;%b}nJ_i4lc2{JqbB2}z583B99Fz~4BwxNZFi7vm4V{RozGzB z!U#^ADs>2yNp)Yp!Nb@B?voenYVFU=zwdvczlD8OkbQo}ghl~a85FEc@K4QwJ0t`w zD>~C?7rQ!-*-FwF0(FJE%NoY-9Dh$(EC9umJCY~w!IOX@O=LI5!v(~42^k;~FK>1( zZ9v2KqEB)~8cmd&7$w-&IAO18nc@8-DR9UO1$ENWyK8jo=i&YcoM?*FO^eUZ6;2;K z4WSz(X5tdpfdgsC{qwI0Hmyf;LK?Gjj}JiN0+n&ss-E;AR{z$Ab++l%ODvEamf0~j zZ0y3o|Nr{|%h_^lF+=cQXlv|t8U3DW}$rtU3v=|>lW