Exécuter une procédure stockée avec PetaPoco
J'ai une procédure stockée qui retourne une valeur de la table.
Voici ma procédure stockée:
PROCEDURE [GetPermitPendingApproval]
@permitYear int = NULL,
AS
BEGIN
SELECT [p].[ID]
,[p].[PermitNumber]
,[p].[PermitTypeID]
,[p].[ApplicationDate]
,[u].[FirstName]
,[u].[MI]
,[u].[LastName]
,[u].[Suffix]
,[u].[ProfessionalTitle]
,[u].[WorksFor]
FROM [SciCollUser] u
INNER JOIN UserPermit up ON up.[UserID] = u.[ID]
INNER JOIN Permit p ON p.[ID] = [up].[PermitID]
WHERE (@permitYear IS NULL OR p.PermitYear = @permitYear)
ORDER BY [p].[ApplicationDate] ASC;
END
Je ne suis pas sûr de savoir si nous avons une telle façon d'utiliser PetaPoco pour exécuter une procédure stockée et d'obtenir un retour de données comme un tableau? S'il vous plaît aider!
Que normalement je peux exécuter une procédure stockée avec le script, mais ce n'est pas la façon dont je le veux.
db.Execute("EXEC GetPermitPendingApproval @permitYear=2013");
source d'informationauteur Sam
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin de mettre un point-virgule avant le EXEC.
Réponse est probablement à la fin, mais j'espère qu'il sera utile pour les générations futures. Vous devriez vous tourner EnableAutoSelect option à false sur PetaPoco objet de base de données
db.EnableAutoSelect = false;
Sinon, il va continuer à ajouter de la
SELECT NULL FROM [Object]
à vous de l'instruction sql.Il est bon, qu'il est possible de déboguer PetaPoco sources.J'ai trouvé cette option seulement en raison de débogage!
Vous obtenez
List<T>
où T est un type POCO avec les propriétés que vous souhaitez à la carte ou unDynamic
Donc la syntaxe est:
ou