mirror of
https://github.com/collinbarrett/FilterLists.git
synced 2026-03-11 09:04:27 +00:00
parent
a4ece09905
commit
bfff929ce5
5 changed files with 69 additions and 10 deletions
|
|
@ -1,4 +1,8 @@
|
|||
using FilterLists.Data.Entities;
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using FilterLists.Data.Entities;
|
||||
using FilterLists.Data.EntityMaps;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace FilterLists.Data.Contexts
|
||||
|
|
@ -16,15 +20,19 @@ public FilterListsDbContext(DbContextOptions options)
|
|||
|
||||
protected override void OnModelCreating(ModelBuilder modelBuilder)
|
||||
{
|
||||
modelBuilder.Entity<FilterList>()
|
||||
.Property(b => b.CreatedDateUtc)
|
||||
.HasDefaultValueSql("CURRENT_TIMESTAMP");
|
||||
modelBuilder.Entity<Maintainer>()
|
||||
.Property(b => b.CreatedDateUtc)
|
||||
.HasDefaultValueSql("CURRENT_TIMESTAMP");
|
||||
modelBuilder.Entity<Language>()
|
||||
.Property(b => b.CreatedDateUtc)
|
||||
.HasDefaultValueSql("CURRENT_TIMESTAMP");
|
||||
RegisterMaps(modelBuilder);
|
||||
}
|
||||
|
||||
private static void RegisterMaps(ModelBuilder modelBuilder)
|
||||
{
|
||||
var entityMaps = typeof(FilterList).GetTypeInfo().Assembly.GetTypes().Where(type =>
|
||||
!string.IsNullOrWhiteSpace(type.Namespace) && typeof(IEntityMap).IsAssignableFrom(type) &&
|
||||
type.IsClass)
|
||||
.ToList();
|
||||
|
||||
foreach (var entityMap in entityMaps)
|
||||
Activator.CreateInstance(entityMap, BindingFlags.Public | BindingFlags.Instance, null,
|
||||
new object[] {modelBuilder}, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
15
src/FilterLists.Data/EntityMaps/FilterListMap.cs
Normal file
15
src/FilterLists.Data/EntityMaps/FilterListMap.cs
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
using FilterLists.Data.Entities;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace FilterLists.Data.EntityMaps
|
||||
{
|
||||
public class FilterListMap : IEntityMap
|
||||
{
|
||||
public FilterListMap(ModelBuilder modelBuilder)
|
||||
{
|
||||
modelBuilder.Entity<FilterList>()
|
||||
.Property(b => b.CreatedDateUtc)
|
||||
.HasDefaultValueSql("CURRENT_TIMESTAMP");
|
||||
}
|
||||
}
|
||||
}
|
||||
6
src/FilterLists.Data/EntityMaps/IEntityMap.cs
Normal file
6
src/FilterLists.Data/EntityMaps/IEntityMap.cs
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
namespace FilterLists.Data.EntityMaps
|
||||
{
|
||||
public interface IEntityMap
|
||||
{
|
||||
}
|
||||
}
|
||||
15
src/FilterLists.Data/EntityMaps/LanguageMap.cs
Normal file
15
src/FilterLists.Data/EntityMaps/LanguageMap.cs
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
using FilterLists.Data.Entities;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace FilterLists.Data.EntityMaps
|
||||
{
|
||||
public class LanguageMap : IEntityMap
|
||||
{
|
||||
public LanguageMap(ModelBuilder modelBuilder)
|
||||
{
|
||||
modelBuilder.Entity<Language>()
|
||||
.Property(b => b.CreatedDateUtc)
|
||||
.HasDefaultValueSql("CURRENT_TIMESTAMP");
|
||||
}
|
||||
}
|
||||
}
|
||||
15
src/FilterLists.Data/EntityMaps/MaintainerMap.cs
Normal file
15
src/FilterLists.Data/EntityMaps/MaintainerMap.cs
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
using FilterLists.Data.Entities;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace FilterLists.Data.EntityMaps
|
||||
{
|
||||
public class MaintainerMap : IEntityMap
|
||||
{
|
||||
public MaintainerMap(ModelBuilder modelBuilder)
|
||||
{
|
||||
modelBuilder.Entity<Maintainer>()
|
||||
.Property(b => b.CreatedDateUtc)
|
||||
.HasDefaultValueSql("CURRENT_TIMESTAMP");
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue