修复读写分离bug,发布x.3.1.39
This commit is contained in:
parent
4e11529c33
commit
78cac03485
|
@ -1,9 +1,9 @@
|
|||
:start
|
||||
::定义版本
|
||||
set EFCORE2=2.3.1.38
|
||||
set EFCORE3=3.3.1.38
|
||||
set EFCORE5=5.3.1.38
|
||||
set EFCORE6=6.3.1.38
|
||||
set EFCORE2=2.3.1.39
|
||||
set EFCORE3=3.3.1.39
|
||||
set EFCORE5=5.3.1.39
|
||||
set EFCORE6=6.3.1.39
|
||||
|
||||
::删除所有bin与obj下的文件
|
||||
@echo off
|
||||
|
|
|
@ -8,8 +8,11 @@ using Sample.SqlServer.DbContexts;
|
|||
using Sample.SqlServer.Shardings;
|
||||
using ShardingCore;
|
||||
using System;
|
||||
using System.Collections.Concurrent;
|
||||
using System.Collections.Generic;
|
||||
using Sample.SqlServer.Domain.Entities;
|
||||
using ShardingCore.Extensions;
|
||||
using ShardingCore.Sharding.ReadWriteConfigurations;
|
||||
using ShardingCore.Sharding.ShardingComparision;
|
||||
|
||||
namespace Sample.SqlServer
|
||||
|
@ -36,7 +39,7 @@ namespace Sample.SqlServer
|
|||
o.EnsureCreatedWithOutShardingTable = true;
|
||||
o.AutoTrackEntity = true;
|
||||
o.ParallelQueryMaxThreadCount = 100;
|
||||
o.ParallelQueryTimeOut=TimeSpan.FromSeconds(10);
|
||||
o.ParallelQueryTimeOut = TimeSpan.FromSeconds(10);
|
||||
//if SysTest entity not exists in db and db is exists
|
||||
//o.AddEntityTryCreateTable<SysTest>(); // or `o.AddEntitiesTryCreateTable(typeof(SysTest));`
|
||||
})
|
||||
|
@ -50,7 +53,14 @@ namespace Sample.SqlServer
|
|||
o.AddShardingTableRoute<SysUserModVirtualTableRoute>();
|
||||
o.AddShardingTableRoute<SysUserSalaryVirtualTableRoute>();
|
||||
o.AddShardingTableRoute<TestYearShardingVirtualTableRoute>();
|
||||
}).End();
|
||||
}).AddReadWriteSeparation(sp =>
|
||||
{
|
||||
return new Dictionary<string, ISet<string>>()
|
||||
{
|
||||
{"ds0",new HashSet<string>(){"Data Source=localhost;Initial Catalog=ShardingCoreDB1;Integrated Security=True;"}}
|
||||
};
|
||||
},ReadStrategyEnum.Loop,true).End();
|
||||
|
||||
|
||||
//services.AddShardingDbContext<DefaultShardingDbContext, DefaultTableDbContext>(
|
||||
// o => o.UseSqlServer("Data Source=localhost;Initial Catalog=ShardingCoreDB;Integrated Security=True;")
|
||||
|
|
|
@ -77,7 +77,7 @@ namespace ShardingCore.DIExtensions
|
|||
if (_shardingCoreConfigBuilder.ShardingConfigOption.ReadStrategyEnum == ReadStrategyEnum.Loop)
|
||||
{
|
||||
services
|
||||
.AddSingleton<IShardingConnectionStringResolver,
|
||||
.AddSingleton<IShardingConnectionStringResolver<TShardingDbContext>,
|
||||
LoopShardingConnectionStringResolver<TShardingDbContext>>(sp =>
|
||||
{
|
||||
|
||||
|
@ -91,7 +91,7 @@ namespace ShardingCore.DIExtensions
|
|||
else if (_shardingCoreConfigBuilder.ShardingConfigOption.ReadStrategyEnum == ReadStrategyEnum.Random)
|
||||
{
|
||||
services
|
||||
.AddSingleton<IShardingConnectionStringResolver,
|
||||
.AddSingleton<IShardingConnectionStringResolver<TShardingDbContext>,
|
||||
RandomShardingConnectionStringResolver<TShardingDbContext>>(sp =>
|
||||
{
|
||||
var readConnString = _shardingCoreConfigBuilder.ShardingConfigOption.ReadConnStringConfigure(sp);
|
||||
|
|
|
@ -32,7 +32,7 @@ namespace ShardingCore.DIExtensions
|
|||
int defaultPriority = 10,
|
||||
ReadConnStringGetStrategyEnum readConnStringGetStrategy = ReadConnStringGetStrategyEnum.LatestFirstTime)
|
||||
{
|
||||
_shardingCoreConfigBuilder.ShardingConfigOption.UseReadWriteConfiguration(readWriteSeparationConfigure,readStrategyEnum, defaultEnable,defaultPriority);
|
||||
_shardingCoreConfigBuilder.ShardingConfigOption.UseReadWriteConfiguration(readWriteSeparationConfigure,readStrategyEnum, defaultEnable,defaultPriority, readConnStringGetStrategy);
|
||||
return new ShardingCoreConfigEndBuilder<TShardingDbContext>(_shardingCoreConfigBuilder);
|
||||
}
|
||||
public ShardingReadWriteSeparationBuilder<TShardingDbContext> ReplaceShardingComparer(Func<IServiceProvider, IShardingComparer<TShardingDbContext>> newShardingComparerFactory)
|
||||
|
|
|
@ -18,7 +18,7 @@ namespace ShardingCore.Sharding.ReadWriteConfigurations
|
|||
*/
|
||||
public class ReadWriteConnectionStringManager<TShardingDbContext> : IConnectionStringManager<TShardingDbContext> where TShardingDbContext : DbContext, IShardingDbContext
|
||||
{
|
||||
private IShardingConnectionStringResolver _shardingConnectionStringResolver;
|
||||
private IShardingConnectionStringResolver<TShardingDbContext> _shardingConnectionStringResolver;
|
||||
|
||||
|
||||
public ReadWriteConnectionStringManager(IShardingConnectionStringResolver<TShardingDbContext> shardingConnectionStringResolver)
|
||||
|
|
Loading…
Reference in New Issue