finish FilterListLanguage join table

This commit is contained in:
Collin M. Barrett 2017-10-27 17:50:51 -05:00
parent 565b756280
commit 705307e07c
6 changed files with 35 additions and 3 deletions

View file

@ -11,6 +11,9 @@ public FilterListsDbContext(DbContextOptions options)
{
}
public DbSet<FilterListLanguage> FilterListLanguages { get; set; }
public DbSet<FilterList> FilterLists { get; set; }
public DbSet<Maintainer> Maintainers { get; set; }
public DbSet<Language> Languages { get; set; }
@ -20,6 +23,7 @@ protected override void OnModelCreating(ModelBuilder modelBuilder)
modelBuilder.ApplyConfiguration(new FilterListTypeConfiguration());
modelBuilder.ApplyConfiguration(new MaintainerTypeConfiguration());
modelBuilder.ApplyConfiguration(new LanguageTypeConfiguration());
modelBuilder.ApplyConfiguration(new FilterListLanguageTypeConfiguration());
}
}
}

View file

@ -11,7 +11,7 @@ public class FilterList : BaseEntity
public string ForumUrl { get; set; }
public string HomeUrl { get; set; }
public string IssuesUrl { get; set; }
public ICollection<Language> Languages { get; set; }
public ICollection<FilterListLanguage> FilterListLanguages { get; set; }
public int MaintainerId { get; set; }
public string Name { get; set; }
public string ViewUrl { get; set; }

View file

@ -0,0 +1,11 @@
namespace FilterLists.Data.Entities
{
public class FilterListLanguage : BaseEntity
{
public int FilterListId { get; set; }
public FilterList FilterList { get; set; }
public int LanguageId { get; set; }
public Language Language { get; set; }
}
}

View file

@ -4,7 +4,7 @@ namespace FilterLists.Data.Entities
{
public class Language : BaseEntity
{
public ICollection<FilterList> FilterLists { get; set; }
public ICollection<FilterListLanguage> FilterListLanguages { get; set; }
public string Iso6391 { get; set; }
public string Iso6392 { get; set; }
public string Iso6392B { get; set; }

View file

@ -0,0 +1,18 @@
using FilterLists.Data.Entities;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace FilterLists.Data.EntityTypeConfigurations
{
public class FilterListLanguageTypeConfiguration : BaseEntityTypeConfiguration<FilterListLanguage>
{
public override void Configure(EntityTypeBuilder<FilterListLanguage> entityTypeBuilder)
{
entityTypeBuilder.ToTable("filter_lists_languages");
entityTypeBuilder.HasKey(x => new {x.FilterListId, x.LanguageId});
base.Configure(entityTypeBuilder);
}
}
}

View file

@ -1,5 +1,4 @@
using FilterLists.Data.Entities;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace FilterLists.Data.EntityTypeConfigurations