/// <summary> /// 注册一个查询执行器 /// </summary> /// <param name="service">查询执行器注册服务</param> /// <param name="predicate">需要满足的条件</param> /// <param name="executor">查询执行器</param> /// <returns></returns> public static IDbExecutorRegisterService AddExecutor(this IDbExecutorRegisterService service, Func <DbQuery, bool> predicate, IDbExecutor executor) { return(service.AddExecutor(predicate, executor.Execute)); }
/// <summary> /// 注册一个查询执行器 /// </summary> /// <param name="service">查询执行器注册服务</param> /// <typeparam name="T">适用的查询类型</typeparam> /// <param name="executor">查询执行器</param> /// <returns></returns> public static IDbExecutorRegisterService AddExecutor <T>(this IDbExecutorRegisterService service, IDbExecutor executor) where T : DbQuery { return(service.AddExecutor(typeof(T), executor)); }
/// <summary> /// 注册一个查询执行器 /// </summary> /// <param name="service">查询执行器注册服务</param> /// <param name="predicate">需要满足的条件</param> /// <param name="executor">查询执行器</param> /// <returns></returns> public static IDbExecutorRegisterService AddExecutor(this IDbExecutorRegisterService service, Func <DbQuery, bool> predicate, Func <DbQuery, IDbExecuteContext> executor) { service.Register(predicate, executor); return(service); }
/// <summary> /// 注册一个查询执行器 /// </summary> /// <param name="service">查询执行器注册服务</param> /// <param name="queryType">适用的查询类型</param> /// <param name="executor">查询执行器</param> /// <returns></returns> public static IDbExecutorRegisterService AddExecutor(this IDbExecutorRegisterService service, Type queryType, IDbExecutor executor) { return(service.AddExecutor(query => queryType.IsAssignableFrom(query.GetType()), executor)); }