添加ExecuteUpdate和ExecuteDelete的支持
This commit is contained in:
parent
32d4d79a53
commit
da8e43685d
|
@ -28,6 +28,8 @@ namespace ShardingCore.Sharding.ShardingExecutors
|
||||||
private static readonly IQueryableCombine _constantQueryableCombine;
|
private static readonly IQueryableCombine _constantQueryableCombine;
|
||||||
private static readonly IQueryableCombine _selectQueryableCombine;
|
private static readonly IQueryableCombine _selectQueryableCombine;
|
||||||
private static readonly IQueryableCombine _whereQueryableCombine;
|
private static readonly IQueryableCombine _whereQueryableCombine;
|
||||||
|
private static readonly IQueryableCombine _executeUpdateQueryableCombine;
|
||||||
|
private static readonly IQueryableCombine _executeDeleteQueryableCombine;
|
||||||
|
|
||||||
static QueryCompilerContextFactory()
|
static QueryCompilerContextFactory()
|
||||||
{
|
{
|
||||||
|
@ -36,6 +38,8 @@ namespace ShardingCore.Sharding.ShardingExecutors
|
||||||
_constantQueryableCombine = new ConstantQueryableCombine();
|
_constantQueryableCombine = new ConstantQueryableCombine();
|
||||||
_selectQueryableCombine = new SelectQueryableCombine();
|
_selectQueryableCombine = new SelectQueryableCombine();
|
||||||
_whereQueryableCombine = new WhereQueryableCombine();
|
_whereQueryableCombine = new WhereQueryableCombine();
|
||||||
|
_executeUpdateQueryableCombine = new ExecuteUpdateQueryableCombine();
|
||||||
|
_executeDeleteQueryableCombine = new ExecuteDeleteQueryableCombine();
|
||||||
}
|
}
|
||||||
|
|
||||||
public QueryCompilerContextFactory(IDataSourceRouteRuleEngineFactory dataSourceRouteRuleEngineFactory,ITableRouteRuleEngineFactory tableRouteRuleEngineFactory,ILogger<QueryCompilerContextFactory> logger)
|
public QueryCompilerContextFactory(IDataSourceRouteRuleEngineFactory dataSourceRouteRuleEngineFactory,ITableRouteRuleEngineFactory tableRouteRuleEngineFactory,ILogger<QueryCompilerContextFactory> logger)
|
||||||
|
@ -114,6 +118,10 @@ namespace ShardingCore.Sharding.ShardingExecutors
|
||||||
case nameof(Queryable.LongCount):
|
case nameof(Queryable.LongCount):
|
||||||
case nameof(Queryable.Any):
|
case nameof(Queryable.Any):
|
||||||
return _whereQueryableCombine;
|
return _whereQueryableCombine;
|
||||||
|
case "ExecuteUpdate":
|
||||||
|
return _executeUpdateQueryableCombine;
|
||||||
|
case "ExecuteDelete":
|
||||||
|
return _executeDeleteQueryableCombine;
|
||||||
case nameof(Queryable.All):
|
case nameof(Queryable.All):
|
||||||
return _allQueryableCombine;
|
return _allQueryableCombine;
|
||||||
case nameof(Queryable.Max):
|
case nameof(Queryable.Max):
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
using System.Linq;
|
||||||
|
using System.Linq.Expressions;
|
||||||
|
using ShardingCore.Sharding.ShardingExecutors.Abstractions;
|
||||||
|
|
||||||
|
namespace ShardingCore.Sharding.ShardingExecutors.QueryableCombines
|
||||||
|
{
|
||||||
|
public class ExecuteDeleteQueryableCombine: AbstractQueryableCombine
|
||||||
|
{
|
||||||
|
public override IQueryable DoCombineQueryable(IQueryable queryable, Expression secondExpression,
|
||||||
|
IQueryCompilerContext queryCompilerContext)
|
||||||
|
{
|
||||||
|
return queryable;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,15 @@
|
||||||
|
using System.Linq;
|
||||||
|
using System.Linq.Expressions;
|
||||||
|
using ShardingCore.Sharding.ShardingExecutors.Abstractions;
|
||||||
|
|
||||||
|
namespace ShardingCore.Sharding.ShardingExecutors.QueryableCombines
|
||||||
|
{
|
||||||
|
public class ExecuteUpdateQueryableCombine: AbstractQueryableCombine
|
||||||
|
{
|
||||||
|
public override IQueryable DoCombineQueryable(IQueryable queryable, Expression secondExpression,
|
||||||
|
IQueryCompilerContext queryCompilerContext)
|
||||||
|
{
|
||||||
|
return queryable;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue