TrackableEntities / EntityFrameworkCore.Scaffolding.Handlebars

Scaffold EF Core models using Handlebars templates.
MIT License
210 stars 53 forks source link

DbContext is generated without transformed entity names in OnModelCreating #89

Closed dmayhak closed 4 years ago

dmayhak commented 4 years ago

First of all, thanks for an awesome tool! I have however found a small issue:

Adding an entityNameTransformer to the services transformers applies the transformed name everywhere EXCEPT for the modelBuilder.Entity(...) lines in OnModelCreating.

Fix can be applied in HbsCSharpDbContextGenerator.cs in the InitializeEntityTypeBuilder() function:

private void InitializeEntityTypeBuilder(IEntityType entityType, IndentedStringBuilder sb)
        {
            if (!_entityTypeBuilderInitialized)
            {
                var transformedEntityName = EntityTypeTransformationService.TransformEntityName(entityType.Name);

                sb.AppendLine();
                sb.AppendLine($"modelBuilder.Entity<{transformedEntityName}>({EntityLambdaIdentifier} =>");
                sb.Append("{");
            }

            _entityTypeBuilderInitialized = true;
        }

I am creating a PR for this change. Thanks!

tonysneed commented 4 years ago

Fixed by #90.