x.3.2.6修复单路由多表跨表bug
This commit is contained in:
parent
e181348c65
commit
c3b55c5af9
|
@ -1,9 +1,9 @@
|
||||||
:start
|
:start
|
||||||
::定义版本
|
::定义版本
|
||||||
set EFCORE2=2.3.2.05
|
set EFCORE2=2.3.2.06
|
||||||
set EFCORE3=3.3.2.05
|
set EFCORE3=3.3.2.06
|
||||||
set EFCORE5=5.3.2.05
|
set EFCORE5=5.3.2.06
|
||||||
set EFCORE6=6.3.2.05
|
set EFCORE6=6.3.2.06
|
||||||
|
|
||||||
::删除所有bin与obj下的文件
|
::删除所有bin与obj下的文件
|
||||||
@echo off
|
@echo off
|
||||||
|
|
|
@ -67,8 +67,8 @@ namespace Sample.SqlServerShardingTable.Controllers
|
||||||
public async Task<IActionResult> QueryJoin2()
|
public async Task<IActionResult> QueryJoin2()
|
||||||
{
|
{
|
||||||
var begin = new DateTime(2021, 3, 2);
|
var begin = new DateTime(2021, 3, 2);
|
||||||
var end = new DateTime(2021, 4, 3);
|
var end = new DateTime(2021, 3, 28);
|
||||||
var sql1 = from user in _myDbContext.Set<SysUser>().Where(o => o.Id == "1" || o.Id == "6")
|
var sql1 = from user in _myDbContext.Set<SysUser>().Where(o => o.Id == "1")
|
||||||
join order in _myDbContext.Set<Order>().Where(o=>o.CreationTime>=begin&&o.CreationTime<=end)
|
join order in _myDbContext.Set<Order>().Where(o=>o.CreationTime>=begin&&o.CreationTime<=end)
|
||||||
on user.Id equals order.Payer
|
on user.Id equals order.Payer
|
||||||
select new
|
select new
|
||||||
|
|
|
@ -57,18 +57,7 @@ namespace Sample.SqlServerShardingTable
|
||||||
op.AddShardingTableRoute<SysUserVirtualTableRoute>();
|
op.AddShardingTableRoute<SysUserVirtualTableRoute>();
|
||||||
op.AddShardingTableRoute<OrderVirtualTableRoute>();
|
op.AddShardingTableRoute<OrderVirtualTableRoute>();
|
||||||
op.AddShardingTableRoute<MultiShardingOrderVirtualTableRoute>();
|
op.AddShardingTableRoute<MultiShardingOrderVirtualTableRoute>();
|
||||||
}).AddReadWriteSeparation(sp =>
|
}).End();
|
||||||
{
|
|
||||||
return new Dictionary<string, IEnumerable<string>>()
|
|
||||||
{
|
|
||||||
{
|
|
||||||
"ds0", new List<string>()
|
|
||||||
{
|
|
||||||
"Data Source=localhost;Initial Catalog=EFCoreShardingTableDBxxxxxxxx;Integrated Security=True;"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
},ReadStrategyEnum.Loop,defaultEnable:true,readConnStringGetStrategy:ReadConnStringGetStrategyEnum.LatestEveryTime).End();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
|
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
|
||||||
|
|
|
@ -47,7 +47,7 @@ namespace ShardingCore.Sharding.ShardingExecutors
|
||||||
_dataSourceRouteResult = dataSourceRouteResult;
|
_dataSourceRouteResult = dataSourceRouteResult;
|
||||||
_tableRouteResults = GetTableRouteResults(tableRouteResults);
|
_tableRouteResults = GetTableRouteResults(tableRouteResults);
|
||||||
_isCrossDataSource = dataSourceRouteResult.IntersectDataSources.Count > 1;
|
_isCrossDataSource = dataSourceRouteResult.IntersectDataSources.Count > 1;
|
||||||
_isCrossTable = _tableRouteResults.Count() > 1;
|
_isCrossTable = _tableRouteResults.Count() > 1|| _tableRouteResults.IsNotEmpty()&& !_tableRouteResults.First().NoDifferentTail;
|
||||||
}
|
}
|
||||||
|
|
||||||
private IEnumerable<TableRouteResult> GetTableRouteResults(IEnumerable<TableRouteResult> tableRouteResults)
|
private IEnumerable<TableRouteResult> GetTableRouteResults(IEnumerable<TableRouteResult> tableRouteResults)
|
||||||
|
|
Loading…
Reference in New Issue