/// <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); }