/// <summary> /// 创建指定filter的表达式 /// </summary> /// <param name="dbtype">数据库类型</param> /// <param name="from">查询语句的表或视图名称</param> /// <param name="resultType">使用查询语句返回记录来构造对象的对象类型</param> /// <param name="filter">条件表达式语句</param> /// <param name="paramets">条件表达式语句的参数数组</param> /// <param name="select">查询语句的字段,传null指示使用*</param> /// <returns></returns> public static ISqlExpress CreateQuerySqlByFilters(string dbtype, string from, Type resultType, string filter, IEnumerable <IDataParamet> paramets, IEnumerable <string> select, int?top) { if (IsMsSqlDb(dbtype)) { MsQuerySqlExpress sql = new MsQuerySqlExpress() { Filter = filter, From = from, ResultDataModelType = resultType, Select = select, QueryParamets = paramets, Top = top }; return(sql); } throw new NotSupportException(ErrorCodes.NotSupportDbType, string.Format(LocalResource.NotSupportDbType, dbtype)); }
/// <summary> /// 获取通过指定记录Id获取对象的SQL查询表达式 /// </summary> /// <param name="dbtype">数据库类型</param> /// <param name="from">查询语句的表或视图名称</param> /// <param name="resultType">使用查询语句返回记录来构造对象的对象类型</param> /// <param name="select">查询语句的字段,传null指示使用*</param> /// <param name="id">对象Id</param> /// <returns></returns> public static ISqlExpress CreateQuerySqlByIdValue(string dbtype, string from, Type resultType, IEnumerable <string> select, long id) { if (IsMsSqlDb(dbtype)) { IDataParamet p; MsQuerySqlExpress sql = new MsQuerySqlExpress() { Filter = MSSql_QuerySqlFactory.CreateEqWhere("Id", id, out p), From = from, ResultDataModelType = resultType, Select = select, Top = 1 }; if (p != null) { sql.QueryParamets = new IDataParamet[] { p }; } return(sql); } throw new NotSupportException(ErrorCodes.NotSupportDbType, string.Format(LocalResource.NotSupportDbType, dbtype)); }