Exemple #1
0
        private ShardingQueryable(IQueryable <T> source)
        {
            _source = source;
            _streamMergeContextFactory = ShardingContainer.Services.GetService <IStreamMergeContextFactory>();
            var routingRuleEngineFactory = ShardingContainer.Services.GetService <IRoutingRuleEngineFactory>();

            _routeRuleContext = routingRuleEngineFactory.CreateContext <T>(source);
        }
 public StreamMergeContext <T> Create <T>(IQueryable <T> queryable, RouteRuleContext <T> ruleContext)
 {
     return(new StreamMergeContext <T>(queryable, _routingRuleEngineFactory.Route(queryable, ruleContext), _shardingParallelDbContextFactory, _shardingScopeFactory));
 }