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

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

Mary-Kate Olsen
リリース: 2025-01-17 12:12:10
オリジナル
118 人が閲覧しました

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

DbContext.Database.SqlQueryを使用してストアド プロシージャをクエリします

Entity Framework Code First CTP5 では、DbContext.Database.SqlQuery<T>(sql, params) メソッドを使用してストアド プロシージャを実行できます。ただし、正確なパラメーター名を必要とするストアド プロシージャにパラメーターを渡すときに問題が発生する可能性があります。

この問題を解決するには、次の形式で SqlParameter インスタンスを提供する必要があります:

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

これにより、パラメーターがストアド プロシージャ内の名前と正しく一致することが保証されます。パラメーター名を明示的に指定すると、「プロシージャまたは関数 'ストアド プロシージャ名' にはパラメーター '@param1' が必要ですが、指定されていませんでした」エラーを回避できます。

このメソッドを使用すると、厳密に型指定された方法でストアド プロシージャを動的にクエリできるため、Entity Framework を使用して複雑なデータベース操作からデータを簡単に取得できるようになります。

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

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