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

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

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-18 19:11:08890ブラウズ

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。