public void SetUp() { _aWasCalled = false; _bWasCalled = false; _router = new DynamicRouter <VendorContext>(new VendorConverterFactory()); IPipe <VendorContext <VendorARecord> > pipeA = Pipe.New <VendorContext <VendorARecord> >(cfg => { cfg.UseExecute(cxt => { _aWasCalled = true; }); }); IPipe <VendorContext <VendorBRecord> > pipeB = Pipe.New <VendorContext <VendorBRecord> >(cfg => { cfg.UseExecute(cxt => { _bWasCalled = true; }); }); _router.ConnectPipe(pipeA); _router.ConnectPipe(pipeB); Console.WriteLine(_router.GetProbeResult().ToJsonString()); }
/// <summary> /// 根据路由获取数据库连接配置 /// </summary> /// <param name="staticConfig">静态配置</param> /// <param name="router">动态路由</param> /// <returns></returns> public virtual DbConfig GetDynamicDbConfigByRouter(DbConfig staticConfig, IDynamicRouter router) { return(DynamicCodenConfigsMapping.GetOrAdd(router.Coden, coden => AllConfigs.Find(item => item.StaticCoden == staticConfig.StaticCoden && item.DynamicCoden == router.Coden))); }
/// <summary> /// 动态获取所有 /// </summary> /// <returns></returns> protected override IQueryable <TEntity> DynamicGetAll(IDynamicRouter router) { return(EfUnitOfWork.CreateSet(DbFactory.GetDynamicDbConfig(typeof(TEntity), router), DbMode.Read)); }
/// <summary> /// 根据路由获取动态配置 /// </summary> /// <param name="type"></param> /// <param name="router"></param> /// <returns></returns> public DbConfig GetDynamicDbConfig(Type type, IDynamicRouter router) { var staticDbConfig = GetStaticDbConfig(type); return(_dbConfigLoader.GetDynamicDbConfigByRouter(staticDbConfig, router)); }
public long GeneralId <TEntity>(IDynamicRouter router) { return(IdentityGenerator.NextId(GetDynamicDbConfig(typeof(TEntity), router).Number)); }
/// <summary> /// 动态获取所有 /// </summary> /// <returns></returns> protected abstract IQueryable <TEntity> DynamicGetAll(IDynamicRouter router);
public ConfigController(IDynamicRouter router, IRecorder recorder) { _router = router; _recorder = recorder; }