添加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 _selectQueryableCombine;
|
||||
private static readonly IQueryableCombine _whereQueryableCombine;
|
||||
private static readonly IQueryableCombine _executeUpdateQueryableCombine;
|
||||
private static readonly IQueryableCombine _executeDeleteQueryableCombine;
|
||||
|
||||
static QueryCompilerContextFactory()
|
||||
{
|
||||
|
@ -36,6 +38,8 @@ namespace ShardingCore.Sharding.ShardingExecutors
|
|||
_constantQueryableCombine = new ConstantQueryableCombine();
|
||||
_selectQueryableCombine = new SelectQueryableCombine();
|
||||
_whereQueryableCombine = new WhereQueryableCombine();
|
||||
_executeUpdateQueryableCombine = new ExecuteUpdateQueryableCombine();
|
||||
_executeDeleteQueryableCombine = new ExecuteDeleteQueryableCombine();
|
||||
}
|
||||
|
||||
public QueryCompilerContextFactory(IDataSourceRouteRuleEngineFactory dataSourceRouteRuleEngineFactory,ITableRouteRuleEngineFactory tableRouteRuleEngineFactory,ILogger<QueryCompilerContextFactory> logger)
|
||||
|
@ -114,6 +118,10 @@ namespace ShardingCore.Sharding.ShardingExecutors
|
|||
case nameof(Queryable.LongCount):
|
||||
case nameof(Queryable.Any):
|
||||
return _whereQueryableCombine;
|
||||
case "ExecuteUpdate":
|
||||
return _executeUpdateQueryableCombine;
|
||||
case "ExecuteDelete":
|
||||
return _executeDeleteQueryableCombine;
|
||||
case nameof(Queryable.All):
|
||||
return _allQueryableCombine;
|
||||
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