From 48966fe84eb8fc728d9f0a65dc4715617cd110fb Mon Sep 17 00:00:00 2001 From: xuejiaming <326308290@qq.com> Date: Wed, 10 Nov 2021 17:40:55 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=8C=89=E5=A4=A9datetime?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E8=87=AA=E5=8A=A8=E5=BB=BA=E8=A1=A8=E7=9A=84?= =?UTF-8?q?bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nuget-publish.bat | 8 ++++---- .../Shardings/SysUserModVirtualTableRoute.cs | 3 +++ .../Jobs/AutoCreateTableByDay.cs | 5 +++-- .../Bootstrapers/ShardingDbContextBootstrapper.cs | 4 ++-- src/ShardingCore/Extensions/DbContextExtension.cs | 5 +---- src/ShardingCore/TableCreator/ShardingTableCreator.cs | 8 ++++---- ...stractSimpleShardingDayKeyDateTimeVirtualTableRoute.cs | 2 +- 7 files changed, 18 insertions(+), 17 deletions(-) diff --git a/nuget-publish.bat b/nuget-publish.bat index ac069366..bf75e6ab 100644 --- a/nuget-publish.bat +++ b/nuget-publish.bat @@ -1,9 +1,9 @@ :start ::定义版本 -set EFCORE2=2.3.1.31 -set EFCORE3=3.3.1.31 -set EFCORE5=5.3.1.31 -set EFCORE6=6.3.1.31 +set EFCORE2=2.3.1.34 +set EFCORE3=3.3.1.34 +set EFCORE5=5.3.1.34 +set EFCORE6=6.3.1.34 ::删除所有bin与obj下的文件 @echo off diff --git a/samples/Sample.SqlServer/Shardings/SysUserModVirtualTableRoute.cs b/samples/Sample.SqlServer/Shardings/SysUserModVirtualTableRoute.cs index 6c8f6db1..3617d863 100644 --- a/samples/Sample.SqlServer/Shardings/SysUserModVirtualTableRoute.cs +++ b/samples/Sample.SqlServer/Shardings/SysUserModVirtualTableRoute.cs @@ -6,7 +6,10 @@ using ShardingCore.Core.EntityMetadatas; using ShardingCore.Core.VirtualRoutes; using ShardingCore.Sharding.PaginationConfigurations; using ShardingCore.VirtualRoutes; +using ShardingCore.VirtualRoutes.Abstractions; +using ShardingCore.VirtualRoutes.Days; using ShardingCore.VirtualRoutes.Mods; +using ShardingCore.VirtualRoutes.Weeks; namespace Sample.SqlServer.Shardings { diff --git a/samples/Samples.AutoByDate.SqlServer/Jobs/AutoCreateTableByDay.cs b/samples/Samples.AutoByDate.SqlServer/Jobs/AutoCreateTableByDay.cs index 951bfb7a..f8936421 100644 --- a/samples/Samples.AutoByDate.SqlServer/Jobs/AutoCreateTableByDay.cs +++ b/samples/Samples.AutoByDate.SqlServer/Jobs/AutoCreateTableByDay.cs @@ -3,6 +3,7 @@ using ChronusJob.Abstractions; using ChronusJob.Jobs.Attributes; using Samples.AutoByDate.SqlServer.DbContexts; using Samples.AutoByDate.SqlServer.Domain.Entities; +using ShardingCore; using ShardingCore.Core.PhysicTables; using ShardingCore.Core.VirtualDatabase.VirtualTables; using ShardingCore.Core.VirtualTables; @@ -36,8 +37,8 @@ namespace Samples.AutoByDate.SqlServer.Jobs var tail = virtualTable.GetVirtualRoute().ShardingKeyToTail(now); try { - virtualTableManager.AddPhysicTable(virtualTable, new DefaultPhysicTable(virtualTable, tail)); - tableCreator.CreateTable("ds0",typeof(SysUserLogByDay),tail); + virtualTableManager.AddPhysicTable(virtualTable, new DefaultPhysicTable(virtualTable, tail)); + tableCreator.CreateTable("ds0", typeof(SysUserLogByDay), tail); } catch (Exception e) { diff --git a/src/ShardingCore/Bootstrapers/ShardingDbContextBootstrapper.cs b/src/ShardingCore/Bootstrapers/ShardingDbContextBootstrapper.cs index 8936aaec..7c4c0a8e 100644 --- a/src/ShardingCore/Bootstrapers/ShardingDbContextBootstrapper.cs +++ b/src/ShardingCore/Bootstrapers/ShardingDbContextBootstrapper.cs @@ -151,8 +151,8 @@ namespace ShardingCore.Bootstrapers { if (!_shardingConfigOption.IgnoreCreateTableError.GetValueOrDefault()) { - _logger.LogWarning( - $"table :{virtualTable.GetVirtualTableName()}{entityMetadata.TableSeparator}{tail} will created.", e); + _logger.LogWarning(e, + $"table :{virtualTable.GetVirtualTableName()}{entityMetadata.TableSeparator}{tail} will created."); } } } diff --git a/src/ShardingCore/Extensions/DbContextExtension.cs b/src/ShardingCore/Extensions/DbContextExtension.cs index bf281e85..aec323d4 100644 --- a/src/ShardingCore/Extensions/DbContextExtension.cs +++ b/src/ShardingCore/Extensions/DbContextExtension.cs @@ -73,15 +73,12 @@ namespace ShardingCore.Extensions public static void RemoveDbContextRelationModelSaveOnlyThatIsNamedType(this DbContext dbContext, Type shardingType) { -#if EFCORE6 - - var contextModel = dbContext.GetService().Model; ; -#endif #if EFCORE2 ||EFCORE3 ||EFCORE5 var contextModel = dbContext.Model as Model; #endif #if EFCORE6 + var contextModel = dbContext.GetService().Model; ; var contextModelRelationalModel = contextModel.GetRelationalModel() as RelationalModel; var valueTuples = contextModelRelationalModel.Tables diff --git a/src/ShardingCore/TableCreator/ShardingTableCreator.cs b/src/ShardingCore/TableCreator/ShardingTableCreator.cs index 119322d9..0095c09e 100644 --- a/src/ShardingCore/TableCreator/ShardingTableCreator.cs +++ b/src/ShardingCore/TableCreator/ShardingTableCreator.cs @@ -70,7 +70,7 @@ namespace ShardingCore.TableCreator lock (modelCacheSyncObject) { context.RemoveDbContextRelationModelSaveOnlyThatIsNamedType(shardingEntityType); - var databaseCreator = context.Database.GetService() as RelationalDatabaseCreator; + var databaseCreator = context.Database.GetService() as RelationalDatabaseCreator; try { databaseCreator.CreateTables(); @@ -79,9 +79,9 @@ namespace ShardingCore.TableCreator { if (!_shardingConfigOption.IgnoreCreateTableError.GetValueOrDefault()) { - _logger.LogWarning( - $"create table error maybe table:[{virtualTable.GetVirtualTableName()}{virtualTable.EntityMetadata.TableSeparator}{tail}]"); - throw new ShardingCreateException(" create table error :", ex); + _logger.LogWarning(ex, + $"create table error maybe table:[{virtualTable.GetVirtualTableName()}{virtualTable.EntityMetadata.TableSeparator}{tail}]."); + throw new ShardingCreateException($" create table error :{ex.Message}", ex); } } finally diff --git a/src/ShardingCore/VirtualRoutes/Days/AbstractSimpleShardingDayKeyDateTimeVirtualTableRoute.cs b/src/ShardingCore/VirtualRoutes/Days/AbstractSimpleShardingDayKeyDateTimeVirtualTableRoute.cs index 63b5ac9a..0b579d9a 100644 --- a/src/ShardingCore/VirtualRoutes/Days/AbstractSimpleShardingDayKeyDateTimeVirtualTableRoute.cs +++ b/src/ShardingCore/VirtualRoutes/Days/AbstractSimpleShardingDayKeyDateTimeVirtualTableRoute.cs @@ -21,7 +21,7 @@ namespace ShardingCore.VirtualRoutes.Days * @Date: Wednesday, 27 January 2021 08:41:05 * @Email: 326308290@qq.com */ - public abstract class AbstractSimpleShardingDayKeyDateTimeVirtualTableRoute:AbstractShardingTimeKeyDateTimeVirtualTableRoute where T:class + public abstract class AbstractSimpleShardingDayKeyDateTimeVirtualTableRoute:AbstractShardingTimeKeyDateTimeVirtualTableRoute,IJob where T:class { /// /// begin time use fixed time eg.new DateTime(20xx,xx,xx)