From 519fe66a064a50f4eb0d9bd9a1866f95d6fd6981 Mon Sep 17 00:00:00 2001 From: xuejiaming <326308290@qq.com> Date: Fri, 27 Aug 2021 10:06:29 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E8=AE=A2=E5=8D=95=E5=88=9B?= =?UTF-8?q?=E5=BB=BA=E5=88=86=E8=A1=A8=E7=9A=84=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- samples/Sample.SqlServer/Startup.cs | 8 ++--- .../Jobs/AutoCreateTableByDay.cs | 32 +++++++++---------- 2 files changed, 19 insertions(+), 21 deletions(-) diff --git a/samples/Sample.SqlServer/Startup.cs b/samples/Sample.SqlServer/Startup.cs index fd17f543..05b33da7 100644 --- a/samples/Sample.SqlServer/Startup.cs +++ b/samples/Sample.SqlServer/Startup.cs @@ -30,13 +30,13 @@ namespace Sample.SqlServer o => o.UseSqlServer("Data Source=localhost;Initial Catalog=ShardingCoreDB;Integrated Security=True;") , op => { - op.EnsureCreatedWithOutShardingTable = true; - op.CreateShardingTableOnStart = true; + op.EnsureCreatedWithOutShardingTable = false; + op.CreateShardingTableOnStart = false; op.UseShardingOptionsBuilder( (connection, builder) => builder.UseSqlServer(connection).UseLoggerFactory(efLogger),//使用dbconnection创建dbcontext支持事务 - (conStr,builder) => builder.UseSqlServer(conStr).UseLoggerFactory(efLogger + (conStr,builder) => builder.UseSqlServer(conStr).UseLoggerFactory(efLogger) //.ReplaceService()//支持sqlserver2008r2 - ));//使用链接字符串创建dbcontext + );//使用链接字符串创建dbcontext op.AddShardingTableRoute(); }); ////不支持MARS不支持追踪的 diff --git a/samples/Samples.AutoByDate.SqlServer/Jobs/AutoCreateTableByDay.cs b/samples/Samples.AutoByDate.SqlServer/Jobs/AutoCreateTableByDay.cs index a24cb84f..dff38fdf 100644 --- a/samples/Samples.AutoByDate.SqlServer/Jobs/AutoCreateTableByDay.cs +++ b/samples/Samples.AutoByDate.SqlServer/Jobs/AutoCreateTableByDay.cs @@ -22,27 +22,25 @@ namespace Samples.AutoByDate.SqlServer.Jobs /// /// /// - [JobRun(Name = "定时创建分表组件",Cron = "0 0 12 * * ?",RunOnceOnStart = true)] + [JobRun(Name = "定时创建分表组件", Cron = "0 0 12 * * ?", RunOnceOnStart = true)] public void AutoCreateTable(IVirtualTableManager virtualTableManager, IShardingTableCreator tableCreator) { - var allVirtualTables = virtualTableManager.GetAllVirtualTables(); - foreach (var virtualTable in allVirtualTables) + var virtualTable = virtualTableManager.GetVirtualTable(); + if (virtualTable == null) { - if (virtualTable.EntityType == typeof(SysUserLogByDay)) - { - var now = DateTime.Now.Date.AddDays(1); - var tail = virtualTable.GetVirtualRoute().ShardingKeyToTail(now); - try - { - virtualTableManager.AddPhysicTable(virtualTable, new DefaultPhysicTable(virtualTable, tail)); - tableCreator.CreateTable(tail); - } - catch (Exception e) - { - //ignore - } - } + return; + } + var now = DateTime.Now.Date.AddDays(1); + var tail = virtualTable.GetVirtualRoute().ShardingKeyToTail(now); + try + { + virtualTableManager.AddPhysicTable(virtualTable, new DefaultPhysicTable(virtualTable, tail)); + tableCreator.CreateTable(tail); + } + catch (Exception e) + { + //ignore } } }