From 0de2f6936d33007ff1e2c75d7a3ff7d7cc4d81f3 Mon Sep 17 00:00:00 2001 From: maliming Date: Wed, 9 Mar 2022 19:33:18 +0800 Subject: [PATCH 1/3] `EnableLegacyTimestampBehavior` if dbms is pgsql. --- .../Steps/AppNoLayersDatabaseManagementSystemChangeStep.cs | 1 + .../MyCompanyName.MyProjectName.Blazor.Server/Program.cs | 4 ++++ .../aspnet-core/MyCompanyName.MyProjectName.Host/Program.cs | 4 ++++ .../aspnet-core/MyCompanyName.MyProjectName.Mvc/Program.cs | 4 ++++ .../EntityFrameworkCore/MyProjectNameDbContextFactory.cs | 4 ++++ .../MyProjectNameEntityFrameworkCoreModule.cs | 4 ++++ 6 files changed, 21 insertions(+) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/AppNoLayersDatabaseManagementSystemChangeStep.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/AppNoLayersDatabaseManagementSystemChangeStep.cs index 502c57a4dc..7375b734ce 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/AppNoLayersDatabaseManagementSystemChangeStep.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/AppNoLayersDatabaseManagementSystemChangeStep.cs @@ -19,6 +19,7 @@ public class AppNoLayersDatabaseManagementSystemChangeStep : ProjectBuildPipelin break; case DatabaseManagementSystem.PostgreSQL: + context.Symbols.Add("dbms:PostgreSQL"); ChangeEntityFrameworkCoreDependency(context, "Volo.Abp.EntityFrameworkCore.PostgreSql", "Volo.Abp.EntityFrameworkCore.PostgreSql", "AbpEntityFrameworkCorePostgreSqlModule"); diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Program.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Program.cs index 051587bb5c..d5425060de 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Program.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Program.cs @@ -9,6 +9,10 @@ public class Program { public async static Task Main(string[] args) { +// + // https://www.npgsql.org/efcore/release-notes/6.0.html#opting-out-of-the-new-timestamp-mapping-logic + AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", true); +// var loggerConfiguration = new LoggerConfiguration() #if DEBUG .MinimumLevel.Debug() diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Program.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Program.cs index a9366b95fe..4167ba88c5 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Program.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Program.cs @@ -8,6 +8,10 @@ public class Program { public async static Task Main(string[] args) { +// + // https://www.npgsql.org/efcore/release-notes/6.0.html#opting-out-of-the-new-timestamp-mapping-logic + AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", true); +// var loggerConfiguration = new LoggerConfiguration() #if DEBUG .MinimumLevel.Debug() diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Program.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Program.cs index e3b1aeed74..9d23e55759 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Program.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Program.cs @@ -9,6 +9,10 @@ public class Program { public async static Task Main(string[] args) { +// + // https://www.npgsql.org/efcore/release-notes/6.0.html#opting-out-of-the-new-timestamp-mapping-logic + AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", true); +// var loggerConfiguration = new LoggerConfiguration() #if DEBUG .MinimumLevel.Debug() diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/EntityFrameworkCore/MyProjectNameDbContextFactory.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/EntityFrameworkCore/MyProjectNameDbContextFactory.cs index 01fdb39a61..7e90f635a3 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/EntityFrameworkCore/MyProjectNameDbContextFactory.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/EntityFrameworkCore/MyProjectNameDbContextFactory.cs @@ -11,6 +11,10 @@ public class MyProjectNameDbContextFactory : IDesignTimeDbContextFactory + // https://www.npgsql.org/efcore/release-notes/6.0.html#opting-out-of-the-new-timestamp-mapping-logic + AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", true); +// MyProjectNameEfCoreEntityExtensionMappings.Configure(); var configuration = BuildConfiguration(); diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/EntityFrameworkCore/MyProjectNameEntityFrameworkCoreModule.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/EntityFrameworkCore/MyProjectNameEntityFrameworkCoreModule.cs index 9cecbb904d..5e5b742418 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/EntityFrameworkCore/MyProjectNameEntityFrameworkCoreModule.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/EntityFrameworkCore/MyProjectNameEntityFrameworkCoreModule.cs @@ -29,6 +29,10 @@ public class MyProjectNameEntityFrameworkCoreModule : AbpModule { public override void PreConfigureServices(ServiceConfigurationContext context) { +// + // https://www.npgsql.org/efcore/release-notes/6.0.html#opting-out-of-the-new-timestamp-mapping-logic + AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", true); +// MyProjectNameEfCoreEntityExtensionMappings.Configure(); } From 9dbd69c4d10baa8e4ab581f45e0678d23adc46a4 Mon Sep 17 00:00:00 2001 From: maliming Date: Wed, 9 Mar 2022 20:28:54 +0800 Subject: [PATCH 2/3] Update `TEMPLATE`. --- .../Steps/AppNoLayersDatabaseManagementSystemChangeStep.cs | 1 - .../ProjectBuilding/Templates/App/AppNoLayersTemplateBase.cs | 5 +++++ .../Abp/Cli/ProjectBuilding/Templates/App/AppTemplateBase.cs | 5 +++++ .../MyCompanyName.MyProjectName.Blazor.Server/Program.cs | 1 + .../aspnet-core/MyCompanyName.MyProjectName.Host/Program.cs | 1 + .../aspnet-core/MyCompanyName.MyProjectName.Mvc/Program.cs | 1 + .../EntityFrameworkCore/MyProjectNameDbContextFactory.cs | 1 + .../MyProjectNameEntityFrameworkCoreModule.cs | 1 + 8 files changed, 15 insertions(+), 1 deletion(-) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/AppNoLayersDatabaseManagementSystemChangeStep.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/AppNoLayersDatabaseManagementSystemChangeStep.cs index 7375b734ce..502c57a4dc 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/AppNoLayersDatabaseManagementSystemChangeStep.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Building/Steps/AppNoLayersDatabaseManagementSystemChangeStep.cs @@ -19,7 +19,6 @@ public class AppNoLayersDatabaseManagementSystemChangeStep : ProjectBuildPipelin break; case DatabaseManagementSystem.PostgreSQL: - context.Symbols.Add("dbms:PostgreSQL"); ChangeEntityFrameworkCoreDependency(context, "Volo.Abp.EntityFrameworkCore.PostgreSql", "Volo.Abp.EntityFrameworkCore.PostgreSql", "AbpEntityFrameworkCorePostgreSqlModule"); diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/App/AppNoLayersTemplateBase.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/App/AppNoLayersTemplateBase.cs index e1279a775b..312181e721 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/App/AppNoLayersTemplateBase.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/App/AppNoLayersTemplateBase.cs @@ -41,6 +41,11 @@ public abstract class AppNoLayersTemplateBase : AppTemplateBase break; } + if (context.BuildArgs.DatabaseManagementSystem == DatabaseManagementSystem.PostgreSQL) + { + context.Symbols.Add("dbms:PostgreSQL"); + } + switch (context.BuildArgs.UiFramework) { case UiFramework.Angular: diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/App/AppTemplateBase.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/App/AppTemplateBase.cs index 7d4aab5615..20b72cdc50 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/App/AppTemplateBase.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/App/AppTemplateBase.cs @@ -103,6 +103,11 @@ public abstract class AppTemplateBase : TemplateInfo steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.MongoDB")); steps.Add(new RemoveProjectFromSolutionStep("MyCompanyName.MyProjectName.MongoDB.Tests", projectFolderPath: "/aspnet-core/test/MyCompanyName.MyProjectName.MongoDB.Tests")); } + + if (context.BuildArgs.DatabaseManagementSystem == DatabaseManagementSystem.PostgreSQL) + { + context.Symbols.Add("dbms:PostgreSQL"); + } } protected void DeleteUnrelatedProjects(ProjectBuildContext context, List steps) diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Program.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Program.cs index d5425060de..7845d76dd1 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Program.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Program.cs @@ -12,6 +12,7 @@ public class Program // // https://www.npgsql.org/efcore/release-notes/6.0.html#opting-out-of-the-new-timestamp-mapping-logic AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", true); + // var loggerConfiguration = new LoggerConfiguration() #if DEBUG diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Program.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Program.cs index 4167ba88c5..930acf5691 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Program.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Program.cs @@ -11,6 +11,7 @@ public class Program // // https://www.npgsql.org/efcore/release-notes/6.0.html#opting-out-of-the-new-timestamp-mapping-logic AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", true); + // var loggerConfiguration = new LoggerConfiguration() #if DEBUG diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Program.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Program.cs index 9d23e55759..31ad6e076a 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Program.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Program.cs @@ -12,6 +12,7 @@ public class Program // // https://www.npgsql.org/efcore/release-notes/6.0.html#opting-out-of-the-new-timestamp-mapping-logic AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", true); + // var loggerConfiguration = new LoggerConfiguration() #if DEBUG diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/EntityFrameworkCore/MyProjectNameDbContextFactory.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/EntityFrameworkCore/MyProjectNameDbContextFactory.cs index 7e90f635a3..c9831de671 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/EntityFrameworkCore/MyProjectNameDbContextFactory.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/EntityFrameworkCore/MyProjectNameDbContextFactory.cs @@ -14,6 +14,7 @@ public class MyProjectNameDbContextFactory : IDesignTimeDbContextFactory // https://www.npgsql.org/efcore/release-notes/6.0.html#opting-out-of-the-new-timestamp-mapping-logic AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", true); + // MyProjectNameEfCoreEntityExtensionMappings.Configure(); diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/EntityFrameworkCore/MyProjectNameEntityFrameworkCoreModule.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/EntityFrameworkCore/MyProjectNameEntityFrameworkCoreModule.cs index 5e5b742418..447786a968 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/EntityFrameworkCore/MyProjectNameEntityFrameworkCoreModule.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/EntityFrameworkCore/MyProjectNameEntityFrameworkCoreModule.cs @@ -32,6 +32,7 @@ public class MyProjectNameEntityFrameworkCoreModule : AbpModule // // https://www.npgsql.org/efcore/release-notes/6.0.html#opting-out-of-the-new-timestamp-mapping-logic AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", true); + // MyProjectNameEfCoreEntityExtensionMappings.Configure(); } From ee474293b8228fd976bbb0a8349cee3a9372e88b Mon Sep 17 00:00:00 2001 From: maliming Date: Thu, 10 Mar 2022 09:13:03 +0800 Subject: [PATCH 3/3] `using System;` --- .../MyCompanyName.MyProjectName.Blazor.Server/Program.cs | 1 + .../aspnet-core/MyCompanyName.MyProjectName.Host/Program.cs | 1 + .../aspnet-core/MyCompanyName.MyProjectName.Mvc/Program.cs | 1 + .../EntityFrameworkCore/MyProjectNameDbContextFactory.cs | 3 ++- .../MyProjectNameEntityFrameworkCoreModule.cs | 3 ++- 5 files changed, 7 insertions(+), 2 deletions(-) diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Program.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Program.cs index 7845d76dd1..0226e0a554 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Program.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Program.cs @@ -1,3 +1,4 @@ +using System; using MyCompanyName.MyProjectName.Blazor.Server; using MyCompanyName.MyProjectName.Data; using Serilog; diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Program.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Program.cs index 930acf5691..c4c428b90d 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Program.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Program.cs @@ -1,3 +1,4 @@ +using System; using MyCompanyName.MyProjectName.Data; using Serilog; using Serilog.Events; diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Program.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Program.cs index 31ad6e076a..358f8dda73 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Program.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Program.cs @@ -1,3 +1,4 @@ +using System; using MyCompanyName.MyProjectName.Data; using Serilog; using Serilog.Events; diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/EntityFrameworkCore/MyProjectNameDbContextFactory.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/EntityFrameworkCore/MyProjectNameDbContextFactory.cs index c9831de671..ddeca6a250 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/EntityFrameworkCore/MyProjectNameDbContextFactory.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/EntityFrameworkCore/MyProjectNameDbContextFactory.cs @@ -1,4 +1,5 @@ -using System.IO; +using System; +using System.IO; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Design; using Microsoft.Extensions.Configuration; diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/EntityFrameworkCore/MyProjectNameEntityFrameworkCoreModule.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/EntityFrameworkCore/MyProjectNameEntityFrameworkCoreModule.cs index 447786a968..f655a22a24 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/EntityFrameworkCore/MyProjectNameEntityFrameworkCoreModule.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/EntityFrameworkCore/MyProjectNameEntityFrameworkCoreModule.cs @@ -1,4 +1,5 @@ -using Microsoft.Extensions.DependencyInjection; +using System; +using Microsoft.Extensions.DependencyInjection; using Volo.Abp.AuditLogging.EntityFrameworkCore; using Volo.Abp.BackgroundJobs.EntityFrameworkCore; using Volo.Abp.EntityFrameworkCore;