Maison >base de données >tutoriel mysql >Comment utiliser DbContext.Database.SqlQuery avec des procédures et des paramètres stockés dans EF Code First CTP5 ?

Comment utiliser DbContext.Database.SqlQuery avec des procédures et des paramètres stockés dans EF Code First CTP5 ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-17 11:57:09224parcourir

How to Use DbContext.Database.SqlQuery with Stored Procedures and Parameters in EF Code First CTP5?

Utilisez DbContext.Database.SqlQuery pour appeler des procédures stockées dans Entity Framework Code First CTP5

La méthode

de DbContext.Database.SqlQuery<TElement>(sql, params)Entity Framework Code First CTP5 permet d'appeler une procédure stockée et de récupérer les résultats sous forme de liste d'objets de type TElement. Cependant, si la procédure stockée nécessite des paramètres, ceux-ci doivent être spécifiés dans l'appel à SqlQuery.

Paramètre SQLParameter

Lors de la fourniture d'un objet SqlParameter en paramètre, le nom du paramètre doit être inclus dans la requête SQL et précédé du symbole @. Par exemple, pour une procédure stockée qui nécessite trois paramètres, vous spécifierez la requête suivante :

<code class="language-sql">"mySpName @param1, @param2, @param3"</code>

Vous allez ensuite créer trois SqlParameter objets et les transmettre à SqlQuery comme ceci :

<code class="language-csharp">context.Database.SqlQuery<MyEntityType>(
    "mySpName @param1, @param2, @param3",
    new SqlParameter("param1", param1),
    new SqlParameter("param2", param2),
    new SqlParameter("param3", param3)
);</code>

Notez que les noms des paramètres dans l'objet SqlParameter doivent correspondre aux noms des paramètres dans la procédure stockée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn