Example #1
0
        /// <summary>
        /// The execute stored procedure.
        /// </summary>
        /// <param name="query">
        /// The query.
        /// </param>
        /// <param name="storedProcedure">
        /// The stored procedure.
        /// </param>
        /// <returns>
        /// The <see cref="IQuery"/>.
        /// </returns>
        /// <exception cref="ArgumentNullException">
        /// The stored procedure is null.
        /// </exception>
        public static IQuery ExecuteSp(this ISession query, IStoredProcedure storedProcedure)
        {
            if (storedProcedure == null)
            {
                throw new ArgumentNullException("storedProcedure");
            }

            IQuery executeSp = query.GetNamedQuery(storedProcedure.Name);

            storedProcedure.GetPropertiesMarkAttribute(
                (StoredParameterAttribute attribute, object value) =>
                executeSp.SetParameter(attribute.ParameterName, value));

            return(executeSp);
        }