/// <summary>
 /// SqlQuery
 /// </summary>
 /// <typeparam name="T">数据类型</typeparam>
 /// <param name="configExecutor"></param>
 /// <param name="parameters">sql的参数</param>
 /// <param name="ignoreProptsForRtnType">数据类型需要忽略的属性名</param>
 /// <returns></returns>
 public static IReadOnlyList <T> Query <T>(this ILuaSqlConfigExecutor configExecutor,
                                           IDataParameter[] parameters = null,
                                           params string[] ignoreProptsForRtnType)
     where T : new()
 {
     if (parameters?.Length > 0)
     {
         return(configExecutor.QueryUseDict <T>(parameters.ToDictionary(l => l.ParameterName, l => l.Value),
                                                ignoreProptsForRtnType));
     }
     else
     {
         return(configExecutor.QueryUseDict <T>(null, ignoreProptsForRtnType));
     }
 }
 /// <summary>
 /// SqlQuery
 /// </summary>
 /// <typeparam name="T">数据类型</typeparam>
 /// <param name="configExecutor"></param>
 /// <param name="parameters">sql的参数</param>
 /// <param name="ignoreProptsForRtnType">数据类型需要忽略的属性名</param>
 /// <param name="policies">策略对象集合</param>
 /// <returns></returns>
 public static IReadOnlyList <T> Query <T>(this ILuaSqlConfigExecutor configExecutor,
                                           IDataParameter[] parameters,
                                           IEnumerable <string> ignoreProptsForRtnType,
                                           IDictionary <string, ISqlConfigPolicy> policies)
     where T : new()
 {
     if (parameters?.Length > 0)
     {
         return(configExecutor.QueryUseDict <T>(parameters.ToDictionary(l => l.ParameterName, l => l.Value),
                                                ignoreProptsForRtnType, policies));
     }
     else
     {
         return(configExecutor.QueryUseDict <T>(null, ignoreProptsForRtnType, policies));
     }
 }
 /// <summary>
 /// SqlQuery
 /// </summary>
 /// <typeparam name="T">数据类型</typeparam>
 /// <param name="configExecutor"></param>
 /// <param name="paramsModel">sql的参数模型对象</param>
 /// <param name="ignoreProptsForParamModel">sql的参数模型对象中需要忽略的属性名</param>
 /// <param name="ignoreProptsForRtnType">数据类型需要忽略的属性名</param>
 /// <returns></returns>
 public static IReadOnlyList <T> QueryUseModel <T>(this ILuaSqlConfigExecutor configExecutor, object paramsModel,
                                                   IEnumerable <string> ignoreProptsForParamModel = null,
                                                   params string[] ignoreProptsForRtnType)
     where T : new()
 {
     return(configExecutor.QueryUseDict <T>(
                EFHelper.Services.ObjReflector.GetPublicInstanceProptValues(paramsModel, ignoreProptsForParamModel),
                ignoreProptsForRtnType));
 }