Maison > base de données > tutoriel mysql > Comment transmettre correctement les paramètres aux procédures stockées à l'aide de DbContext.Database.SqlQuery ?

Comment transmettre correctement les paramètres aux procédures stockées à l'aide de DbContext.Database.SqlQuery ?

Mary-Kate Olsen
Libérer: 2025-01-17 12:12:10
original
117 Les gens l'ont consulté

How to Correctly Pass Parameters to Stored Procedures using DbContext.Database.SqlQuery?

Utilisez DbContext.Database.SqlQuerypour interroger les procédures stockées

Dans Entity Framework Code First CTP5, vous pouvez utiliser la méthode DbContext.Database.SqlQuery<T>(sql, params) pour exécuter une procédure stockée. Toutefois, vous pouvez rencontrer des problèmes lors de la transmission de paramètres à des procédures stockées qui nécessitent des noms de paramètres précis.

Pour résoudre ce problème, vous devez fournir une instance SqlParameter au format suivant :

<code class="language-csharp">context.Database.SqlQuery<我的实体类型>(
    "我的存储过程名称 @param1, @param2, @param3",
    new SqlParameter("param1", param1),
    new SqlParameter("param2", param2),
    new SqlParameter("param3", param3)
);</code>
Copier après la connexion

Cela garantit que les paramètres correspondent correctement à leurs noms dans la procédure stockée. En fournissant explicitement le nom du paramètre, vous pouvez éviter l'erreur « La procédure ou la fonction « mon nom de procédure stockée » nécessite le paramètre « @param1 », mais il n'a pas été fourni ».

Cette méthode vous permet d'interroger dynamiquement des procédures stockées d'une manière fortement typée, ce qui facilite l'utilisation d'Entity Framework pour récupérer des données à partir d'opérations de base de données complexes.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal