Maison >base de données >tutoriel mysql >Comment transmettre correctement les paramètres aux procédures stockées à l'aide de DbContext.Database.SqlQuery ?
Utilisez DbContext.Database.SqlQuery
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>
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!