From fc90f71f5e4ed6dbb12382c8eaada6e6cbba0f29 Mon Sep 17 00:00:00 2001 From: "Collin M. Barrett" Date: Thu, 26 Oct 2017 12:25:43 -0500 Subject: [PATCH] alt. approach to defaulting CreatedDateUtc ref #143 --- src/FilterLists.Data/Contexts/FilterListsDbContext.cs | 10 +++++++++- .../Models/Implementations/BaseEntity.cs | 4 ---- .../InitializeNewTableBaseEntityDefaults.sql | 8 -------- 3 files changed, 9 insertions(+), 13 deletions(-) delete mode 100644 src/FilterLists.Data/Stored Procedures/InitializeNewTableBaseEntityDefaults.sql diff --git a/src/FilterLists.Data/Contexts/FilterListsDbContext.cs b/src/FilterLists.Data/Contexts/FilterListsDbContext.cs index 6cde66706..970f8c13e 100644 --- a/src/FilterLists.Data/Contexts/FilterListsDbContext.cs +++ b/src/FilterLists.Data/Contexts/FilterListsDbContext.cs @@ -1,4 +1,5 @@ -using FilterLists.Data.Models.Implementations; +using FilterLists.Data.Models.Contracts; +using FilterLists.Data.Models.Implementations; using Microsoft.EntityFrameworkCore; namespace FilterLists.Data.Contexts @@ -11,5 +12,12 @@ public FilterListsDbContext(DbContextOptions options) } public DbSet FilterList { get; set; } + + protected override void OnModelCreating(ModelBuilder modelBuilder) + { + modelBuilder.Entity() + .Property(b => b.CreatedDateUtc) + .HasDefaultValueSql("CURRENT_TIMESTAMP"); + } } } \ No newline at end of file diff --git a/src/FilterLists.Data/Models/Implementations/BaseEntity.cs b/src/FilterLists.Data/Models/Implementations/BaseEntity.cs index c91950392..aca2065e5 100644 --- a/src/FilterLists.Data/Models/Implementations/BaseEntity.cs +++ b/src/FilterLists.Data/Models/Implementations/BaseEntity.cs @@ -1,5 +1,4 @@ using System; -using System.ComponentModel; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using FilterLists.Data.Models.Contracts; @@ -14,12 +13,9 @@ public abstract class BaseEntity : IBaseEntity [JsonIgnore] public long Id { get; set; } - [DatabaseGenerated(DatabaseGeneratedOption.Identity)] - [DefaultValue("CURRENT_TIMESTAMP")] [JsonIgnore] public DateTime CreatedDateUtc { get; set; } - [DatabaseGenerated(DatabaseGeneratedOption.Computed)] [JsonIgnore] public DateTime? ModifiedDateUtc { get; set; } } diff --git a/src/FilterLists.Data/Stored Procedures/InitializeNewTableBaseEntityDefaults.sql b/src/FilterLists.Data/Stored Procedures/InitializeNewTableBaseEntityDefaults.sql deleted file mode 100644 index 108b1fed1..000000000 --- a/src/FilterLists.Data/Stored Procedures/InitializeNewTableBaseEntityDefaults.sql +++ /dev/null @@ -1,8 +0,0 @@ ---TODO: Possibly convert to stored procedure -ALTER TABLE - filterlistsdata.FilterList MODIFY COLUMN CreatedDateUtc DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE - filterlistsdata.FilterList MODIFY COLUMN ModifiedDateUtc DATETIME DEFAULT NULL; -ON -UPDATE - CURRENT_TIMESTAMP; \ No newline at end of file