public ResultModel <T> GetWithPages <T>(QueryBase queryBase, string orderBy, string orderDir = "desc")
        {
            ResultModel <T> result = new ResultModel <T>();

            var typeT        = typeof(T);
            var tableMame    = string.Empty;
            var likeQueryStr = string.Empty;

            if (typeT.Name == "String")
            {
                //var menuDataDetail =  new MenuDataUtil();
                //var dataDetail = menuDataDetail.GetMenuDetail(queryBase.MenuId);
                var dataDetail = new { TableName = "" };
                if (dataDetail != null && !string.IsNullOrEmpty(dataDetail.TableName))
                {
                    tableMame = dataDetail.TableName;

                    PrimitiveTypeDataRetrieveLogical primitiveTypeLogical = new PrimitiveTypeDataRetrieveLogical(tableMame, likeQueryStr, queryBase);
                    result = primitiveTypeLogical.GetDataRetrieveResult <T>(primitiveTypeLogical.GetDataRetrieveSQL());
                }
                else
                {
                    LogHelper.Instance.Warn("该菜单没有配置相关的数据表!");
                }
            }
            else
            {
                var attributes = AttributeUtils.CheckIsExistAttribute <T>(typeof(TableMappingAttribute));

                if (attributes.Length == 0)
                {
                    LogHelper.Instance.Warn("类型没有配置表映射关系!");
                }
                else
                {
                    var likeQueryFields = new List <string>();
                    foreach (var attribute in attributes)
                    {
                        var tmp = attribute as TableMappingAttribute;
                        if (tmp != null)
                        {
                            tableMame = tmp.TableName;
                            if (tmp.LikeQueryFields != null)
                            {
                                likeQueryFields.AddRange(tmp.LikeQueryFields.Split(','));
                            }
                            break;
                        }
                    }

                    likeQueryStr = GetLikeQueryStr(likeQueryFields, queryBase.Keywords);

                    GenericsTypeDataRetrieveLogical genericsTypeLogical = new GenericsTypeDataRetrieveLogical(tableMame, likeQueryStr, queryBase);
                    result = genericsTypeLogical.GetDataRetrieveResult <T>(genericsTypeLogical.GetDataRetrieveSQL());
                }
            }

            return(result);
        }