/// <summary>
        /// 设置用于sql执行时的策略执行器(例如:查询缓存(一级/二级的),查询缓存清理(NonQuery的执行之后对二级缓存的清理)等等)
        /// </summary>
        public static void SetExecutePolicyExecutor <T>(this ISqlPolicyManager mgr,
                                                        Func <T> getExecutorFunc, int priority = 0)
            where T : ISqlExecutePolicyExecutor
        {
            var policyName = EFHelper.Services.EFCoreExUtility.GetSqlConfigPolicyName(typeof(T));

            if (string.IsNullOrEmpty(policyName))
            {
                throw new ArgumentException($"Could not find {nameof(SqlConfigPolicyAttribute)} in {typeof(T).Name} type");
            }
            mgr.SetExecutor(policyName, getExecutorFunc as Func <ISqlExecutePolicyExecutor>, priority);
        }
 /// <summary>
 /// 设置用于sql执行时的策略执行器(例如:查询缓存(一级/二级的),查询缓存清理(NonQuery的执行之后对二级缓存的清理)等等)
 /// </summary>
 public static void SetExecutePolicyExecutor(this ISqlPolicyManager mgr, string policyName,
                                             Func <ISqlExecutePolicyExecutor> getExecutorFunc, int priority = 0)
 {
     mgr.SetExecutor(policyName, getExecutorFunc, priority);
 }