mirror of
https://github.com/collinbarrett/FilterLists.git
synced 2026-03-11 09:04:27 +00:00
refactor(dir): ♻ snake_case tables that require manual pluralization to match EF convention
This commit is contained in:
parent
1e04803760
commit
85312ba4a0
9 changed files with 63 additions and 18 deletions
|
|
@ -1,4 +1,6 @@
|
|||
using Microsoft.EntityFrameworkCore;
|
||||
using System.Globalization;
|
||||
using EFCore.NamingConventions.Internal;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
|
||||
namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities;
|
||||
|
|
@ -15,7 +17,10 @@ internal class DependentTypeConfiguration : IEntityTypeConfiguration<Dependent>
|
|||
{
|
||||
public virtual void Configure(EntityTypeBuilder<Dependent> builder)
|
||||
{
|
||||
builder.ToTable(nameof(Dependent) + "s");
|
||||
// TODO: register and resolve INameRewriter
|
||||
var nr = new SnakeCaseNameRewriter(CultureInfo.InvariantCulture);
|
||||
|
||||
builder.ToTable($"{nr.RewriteName(nameof(Dependent))}s");
|
||||
builder.HasKey(d => new { d.DependencyFilterListId, d.DependentFilterListId });
|
||||
builder.HasOne(d => d.DependencyFilterList)
|
||||
.WithMany(fl => fl.DependentFilterLists)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
using Microsoft.EntityFrameworkCore;
|
||||
using System.Globalization;
|
||||
using EFCore.NamingConventions.Internal;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
|
||||
namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities;
|
||||
|
|
@ -15,7 +17,10 @@ internal class FilterListLanguageTypeConfiguration : IEntityTypeConfiguration<Fi
|
|||
{
|
||||
public virtual void Configure(EntityTypeBuilder<FilterListLanguage> builder)
|
||||
{
|
||||
builder.ToTable(nameof(FilterListLanguage) + "s");
|
||||
// TODO: register and resolve INameRewriter
|
||||
var nr = new SnakeCaseNameRewriter(CultureInfo.InvariantCulture);
|
||||
|
||||
builder.ToTable($"{nr.RewriteName(nameof(FilterListLanguage))}s");
|
||||
builder.HasKey(fll => new { fll.FilterListId, fll.Iso6391 });
|
||||
builder.HasDataJsonFile<FilterListLanguage>();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
using Microsoft.EntityFrameworkCore;
|
||||
using System.Globalization;
|
||||
using EFCore.NamingConventions.Internal;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
|
||||
namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities;
|
||||
|
|
@ -15,7 +17,10 @@ internal class FilterListMaintainerTypeConfiguration : IEntityTypeConfiguration<
|
|||
{
|
||||
public virtual void Configure(EntityTypeBuilder<FilterListMaintainer> builder)
|
||||
{
|
||||
builder.ToTable(nameof(FilterListMaintainer) + "s");
|
||||
// TODO: register and resolve INameRewriter
|
||||
var nr = new SnakeCaseNameRewriter(CultureInfo.InvariantCulture);
|
||||
|
||||
builder.ToTable($"{nr.RewriteName(nameof(FilterListMaintainer))}s");
|
||||
builder.HasKey(flm => new { flm.FilterListId, flm.MaintainerId });
|
||||
builder.HasDataJsonFile<FilterListMaintainer>();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
using Microsoft.EntityFrameworkCore;
|
||||
using System.Globalization;
|
||||
using EFCore.NamingConventions.Internal;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
|
||||
namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities;
|
||||
|
|
@ -15,7 +17,10 @@ internal class FilterListSyntaxTypeConfiguration : IEntityTypeConfiguration<Filt
|
|||
{
|
||||
public virtual void Configure(EntityTypeBuilder<FilterListSyntax> builder)
|
||||
{
|
||||
builder.ToTable(nameof(FilterListSyntax) + "es");
|
||||
// TODO: register and resolve INameRewriter
|
||||
var nr = new SnakeCaseNameRewriter(CultureInfo.InvariantCulture);
|
||||
|
||||
builder.ToTable($"{nr.RewriteName(nameof(FilterListSyntax))}es");
|
||||
builder.HasKey(fls => new { fls.FilterListId, fls.SyntaxId });
|
||||
builder.HasDataJsonFile<FilterListSyntax>();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
using Microsoft.EntityFrameworkCore;
|
||||
using System.Globalization;
|
||||
using EFCore.NamingConventions.Internal;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
|
||||
namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities;
|
||||
|
|
@ -15,7 +17,10 @@ internal class FilterListTagTypeConfiguration : IEntityTypeConfiguration<FilterL
|
|||
{
|
||||
public virtual void Configure(EntityTypeBuilder<FilterListTag> builder)
|
||||
{
|
||||
builder.ToTable(nameof(FilterListTag) + "s");
|
||||
// TODO: register and resolve INameRewriter
|
||||
var nr = new SnakeCaseNameRewriter(CultureInfo.InvariantCulture);
|
||||
|
||||
builder.ToTable($"{nr.RewriteName(nameof(FilterListTag))}s");
|
||||
builder.HasKey(flt => new { flt.FilterListId, flt.TagId });
|
||||
builder.HasDataJsonFile<FilterListTag>();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
using Microsoft.EntityFrameworkCore;
|
||||
using System.Globalization;
|
||||
using EFCore.NamingConventions.Internal;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
|
||||
namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities;
|
||||
|
|
@ -17,7 +19,10 @@ internal class FilterListViewUrlConfiguration : IEntityTypeConfiguration<FilterL
|
|||
{
|
||||
public virtual void Configure(EntityTypeBuilder<FilterListViewUrl> builder)
|
||||
{
|
||||
builder.ToTable(nameof(FilterListViewUrl) + "s");
|
||||
// TODO: register and resolve INameRewriter
|
||||
var nr = new SnakeCaseNameRewriter(CultureInfo.InvariantCulture);
|
||||
|
||||
builder.ToTable($"{nr.RewriteName(nameof(FilterListViewUrl))}s");
|
||||
builder.Property(u => u.SegmentNumber)
|
||||
.HasDefaultValue(1);
|
||||
builder.Property(u => u.Primariness)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
using Microsoft.EntityFrameworkCore;
|
||||
using System.Globalization;
|
||||
using EFCore.NamingConventions.Internal;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
|
||||
namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities;
|
||||
|
|
@ -15,7 +17,10 @@ internal class ForkTypeConfiguration : IEntityTypeConfiguration<Fork>
|
|||
{
|
||||
public virtual void Configure(EntityTypeBuilder<Fork> builder)
|
||||
{
|
||||
builder.ToTable(nameof(Fork) + "s");
|
||||
// TODO: register and resolve INameRewriter
|
||||
var nr = new SnakeCaseNameRewriter(CultureInfo.InvariantCulture);
|
||||
|
||||
builder.ToTable($"{nr.RewriteName(nameof(Fork))}s");
|
||||
builder.HasKey(f => new { f.UpstreamFilterListId, f.ForkFilterListId });
|
||||
builder.HasOne(f => f.UpstreamFilterList)
|
||||
.WithMany(fl => fl.ForkFilterLists)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
using Microsoft.EntityFrameworkCore;
|
||||
using System.Globalization;
|
||||
using EFCore.NamingConventions.Internal;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
|
||||
namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities;
|
||||
|
|
@ -15,7 +17,10 @@ internal class MergeTypeConfiguration : IEntityTypeConfiguration<Merge>
|
|||
{
|
||||
public virtual void Configure(EntityTypeBuilder<Merge> builder)
|
||||
{
|
||||
builder.ToTable(nameof(Merge) + "s");
|
||||
// TODO: register and resolve INameRewriter
|
||||
var nr = new SnakeCaseNameRewriter(CultureInfo.InvariantCulture);
|
||||
|
||||
builder.ToTable($"{nr.RewriteName(nameof(Merge))}s");
|
||||
builder.HasKey(m => new { m.IncludedInFilterListId, m.IncludesFilterListId });
|
||||
builder.HasOne(m => m.IncludedInFilterList)
|
||||
.WithMany(fl => fl.IncludesFilterLists)
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
using Microsoft.EntityFrameworkCore;
|
||||
using System.Globalization;
|
||||
using EFCore.NamingConventions.Internal;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.EntityFrameworkCore.Metadata.Builders;
|
||||
|
||||
namespace FilterLists.Directory.Infrastructure.Persistence.Queries.Entities;
|
||||
|
|
@ -15,7 +17,10 @@ internal class SoftwareSyntaxTypeConfiguration : IEntityTypeConfiguration<Softwa
|
|||
{
|
||||
public virtual void Configure(EntityTypeBuilder<SoftwareSyntax> builder)
|
||||
{
|
||||
builder.ToTable(nameof(SoftwareSyntax) + "es");
|
||||
// TODO: register and resolve INameRewriter
|
||||
var nr = new SnakeCaseNameRewriter(CultureInfo.InvariantCulture);
|
||||
|
||||
builder.ToTable($"{nr.RewriteName(nameof(SoftwareSyntax))}s");
|
||||
builder.HasKey(ss => new { ss.SoftwareId, ss.SyntaxId });
|
||||
builder.HasDataJsonFile<SoftwareSyntax>();
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue