예제 #1
0
        /// <summary>Orders the query results by the specified criteria.</summary>
        /// <returns>
        /// A new <see cref="T:System.Data.Entity.Core.Objects.ObjectQuery`1" /> instance that is equivalent to the original instance with ORDER BY applied.
        /// </returns>
        /// <param name="keys">The key columns by which to order the results.</param>
        /// <param name="parameters">Zero or more parameters that are used in this method.</param>
        /// <exception cref="T:System.ArgumentNullException">The  keys  or  parameters  parameter is null.</exception>
        /// <exception cref="T:System.ArgumentException">The  key  is an empty string.</exception>
        public ObjectQuery <T> OrderBy(string keys, params ObjectParameter[] parameters)
        {
            Check.NotEmpty(keys, "keys");
            Check.NotNull(parameters, "parameters");

            return(new ObjectQuery <T>(EntitySqlQueryBuilder.OrderBy(QueryState, Name, keys, parameters)));
        }
        /// <summary>
        ///   This query-builder method creates a new query whose results are the
        ///   results of this query, ordered by some criteria. Note that any relational
        ///   operations performed after an OrderBy have the potential to "undo" the
        ///   ordering, so OrderBy should be considered a terminal query-building
        ///   operation.
        /// </summary>
        /// <param name="keys">
        ///   The sort keys.
        /// </param>
        /// <param name="parameters">
        ///   An optional set of query parameters that should be in scope when parsing.
        /// </param>
        /// <returns>
        ///   a new ObjectQuery instance.
        /// </returns>
        /// <exception cref="ArgumentNullException">
        ///   If either argument is null.
        /// </exception>
        /// <exception cref="ArgumentException">
        ///   If the sort key command text is empty.
        /// </exception>
        public ObjectQuery <T> OrderBy(string keys, params ObjectParameter[] parameters)
        {
            EntityUtil.CheckArgumentNull(keys, "keys");
            EntityUtil.CheckArgumentNull(parameters, "parameters");

            if (StringUtil.IsNullOrEmptyOrWhiteSpace(keys))
            {
                throw EntityUtil.Argument(System.Data.Entity.Strings.ObjectQuery_QueryBuilder_InvalidSortKeyList, "keys");
            }

            return(new ObjectQuery <T>(EntitySqlQueryBuilder.OrderBy(this.QueryState, this.Name, keys, parameters)));
        }
 /// <summary>Orders the query results by the specified criteria.</summary>
 /// <returns>
 /// A new <see cref="T:System.Data.Entity.Core.Objects.ObjectQuery`1" /> instance that is equivalent to the original instance with ORDER BY applied.
 /// </returns>
 /// <param name="keys">The key columns by which to order the results.</param>
 /// <param name="parameters">Zero or more parameters that are used in this method.</param>
 /// <exception cref="T:System.ArgumentNullException">The  keys  or  parameters  parameter is null.</exception>
 /// <exception cref="T:System.ArgumentException">The  key  is an empty string.</exception>
 public ObjectQuery <T> OrderBy(string keys, params ObjectParameter[] parameters)
 {
     Check.NotEmpty(keys, nameof(keys));
     Check.NotNull <ObjectParameter[]>(parameters, nameof(parameters));
     return(new ObjectQuery <T>(EntitySqlQueryBuilder.OrderBy(this.QueryState, this.Name, keys, parameters)));
 }