implement BaseEntityTypeConfiguration

not yet tested.

per: https://stackoverflow.com/a/46978798/2343739

ref #144
This commit is contained in:
Collin M. Barrett 2017-10-27 11:01:50 -05:00
parent c5339528af
commit 859011d073
7 changed files with 44 additions and 33 deletions

View file

@ -17,9 +17,9 @@ public FilterListsDbContext(DbContextOptions options)
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.ApplyConfiguration(new FilterListConfiguration());
modelBuilder.ApplyConfiguration(new MaintainerConfiguration());
modelBuilder.ApplyConfiguration(new LanguageConfiguration());
modelBuilder.ApplyConfiguration(new FilterListTypeConfiguration());
modelBuilder.ApplyConfiguration(new MaintainerTypeConfiguration());
modelBuilder.ApplyConfiguration(new LanguageTypeConfiguration());
}
}
}

View file

@ -4,9 +4,9 @@
namespace FilterLists.Data.EntityTypeConfigurations
{
public class FilterListConfiguration : IEntityTypeConfiguration<FilterList>
public class BaseEntityTypeConfiguration<TBase> : IEntityTypeConfiguration<TBase> where TBase : BaseEntity
{
public void Configure(EntityTypeBuilder<FilterList> entityTypeBuilder)
public virtual void Configure(EntityTypeBuilder<TBase> entityTypeBuilder)
{
entityTypeBuilder.Property(b => b.CreatedDateUtc).HasDefaultValueSql("CURRENT_TIMESTAMP");
}

View file

@ -0,0 +1,13 @@
using FilterLists.Data.Entities;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace FilterLists.Data.EntityTypeConfigurations
{
public class FilterListTypeConfiguration : BaseEntityTypeConfiguration<FilterList>
{
public override void Configure(EntityTypeBuilder<FilterList> entityTypeBuilder)
{
base.Configure(entityTypeBuilder);
}
}
}

View file

@ -1,14 +0,0 @@
using FilterLists.Data.Entities;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace FilterLists.Data.EntityTypeConfigurations
{
public class LanguageConfiguration : IEntityTypeConfiguration<Language>
{
public void Configure(EntityTypeBuilder<Language> entityTypeBuilder)
{
entityTypeBuilder.Property(b => b.CreatedDateUtc).HasDefaultValueSql("CURRENT_TIMESTAMP");
}
}
}

View file

@ -0,0 +1,13 @@
using FilterLists.Data.Entities;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace FilterLists.Data.EntityTypeConfigurations
{
public class LanguageTypeConfiguration : BaseEntityTypeConfiguration<Language>
{
public override void Configure(EntityTypeBuilder<Language> entityTypeBuilder)
{
base.Configure(entityTypeBuilder);
}
}
}

View file

@ -1,14 +0,0 @@
using FilterLists.Data.Entities;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace FilterLists.Data.EntityTypeConfigurations
{
public class MaintainerConfiguration : IEntityTypeConfiguration<Maintainer>
{
public void Configure(EntityTypeBuilder<Maintainer> entityTypeBuilder)
{
entityTypeBuilder.Property(b => b.CreatedDateUtc).HasDefaultValueSql("CURRENT_TIMESTAMP");
}
}
}

View file

@ -0,0 +1,13 @@
using FilterLists.Data.Entities;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace FilterLists.Data.EntityTypeConfigurations
{
public class MaintainerTypeConfiguration : BaseEntityTypeConfiguration<Maintainer>
{
public override void Configure(EntityTypeBuilder<Maintainer> entityTypeBuilder)
{
base.Configure(entityTypeBuilder);
}
}
}