ホームページ > バックエンド開発 > C++ > EF コードファーストでストアド プロシージャ パラメーターとともに DbContext.Database.SqlQuery を正しく使用する方法

EF コードファーストでストアド プロシージャ パラメーターとともに DbContext.Database.SqlQuery を正しく使用する方法

Linda Hamilton
リリース: 2025-01-18 19:11:08
オリジナル
829 人が閲覧しました

How to Correctly Use DbContext.Database.SqlQuery with Stored Procedure Parameters in EF Code First?

EF コードのストアド プロシージャで DbContext.Database.SqlQuery<TElement>(sql, params) を最初に使用する

DbContext.Database.SqlQuery<TElement>(sql, params) を使用してパラメーターを指定してストアド プロシージャを実行すると、問題が発生する可能性があります。

問題:

このアプローチをパラメータを必要とするストアド プロシージャで使用すると、次のようなエラー メッセージが表示されることがよくあります。

<code>"Procedure or function 'mySpName' expects parameter '@param1', which was not supplied."</code>
ログイン後にコピー

解決策:

解決策には、SqlParameter オブジェクトを正しい構造で提供することが含まれます。

<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>
ログイン後にコピー

SqlParameter インスタンスを提供すると、ストアド プロシージャが必要なパラメータを確実に受け取り、実行とデータの取得が成功します。

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

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