ホームページ > データベース > mysql チュートリアル > DbContext.Database.SqlQuery を使用してパラメーターを含むストアド プロシージャを正しく実行する方法

DbContext.Database.SqlQuery を使用してパラメーターを含むストアド プロシージャを正しく実行する方法

Linda Hamilton
リリース: 2025-01-17 11:52:09
オリジナル
904 人が閲覧しました

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

DbContext.Database.SqlQuery を使用して、パラメーターを指定してストアド プロシージャを実行します

DbContext.Database.SqlQuery(sql, params) メソッドを使用すると、データベース クエリを実行し、結果を指定された型のオブジェクトとして返すことができます。ユーザーが提供したコード例では、3 つのパラメーターを指定してストアド プロシージャを呼び出そうとしていますが、パラメーターが正しく指定されていないため、呼び出しは失敗します。

このメソッドを使用してパラメーターを含むストアド プロシージャを正常に実行するには、パラメーターを SqlParameter インスタンスとして提供する必要があります。正しい構文は次のとおりです:

<code class="language-csharp">context.Database.SqlQuery<我的实体类型>(
    "我的存储过程名称 @param1, @param2, @param3",
    new SqlParameter("param1", param1),
    new SqlParameter("param2", param2),
    new SqlParameter("param3", param3)
);</code>
ログイン後にコピー

この変更されたコードでは、SQL パラメーターには「@」の接頭辞が付いているパラメーター名が含まれています。 new SqlParameter インスタンスの後続のパラメーターは、置換されるパラメーター名とそのパラメーターの値を指定します。

このアプローチでは、ストアド プロシージャの予期されるパラメーターを提供できるため、クエリが正常に実行され、結果が指定された型のオブジェクトとして返されるようになります。

以上がDbContext.Database.SqlQuery を使用してパラメーターを含むストアド プロシージャを正しく実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート