Utilisation de DbContext.Database.SqlQuery<TElement>(sql, params)
avec des procédures stockées dans EF Code First
Exécuter des procédures stockées avec des paramètres utilisant DbContext.Database.SqlQuery<TElement>(sql, params)
peut présenter des difficultés.
Problème :
Cette approche, lorsqu'elle est utilisée avec des procédures stockées nécessitant des paramètres, entraîne souvent un message d'erreur du type :
<code>"Procedure or function 'mySpName' expects parameter '@param1', which was not supplied."</code>
Résolution :
La solution consiste à fournir des SqlParameter
objets dans la bonne structure :
<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>
Fournir SqlParameter
instances garantit que la procédure stockée reçoit les paramètres nécessaires, conduisant à une exécution réussie et à la récupération des données.
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!