ホームページ >データベース >mysql チュートリアル >EF Code First CTP5 でストアド プロシージャとパラメーターとともに DbContext.Database.SqlQuery を使用する方法

EF Code First CTP5 でストアド プロシージャとパラメーターとともに DbContext.Database.SqlQuery を使用する方法

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-17 11:57:09222ブラウズ

How to Use DbContext.Database.SqlQuery with Stored Procedures and Parameters in EF Code First CTP5?

DbContext.Database.SqlQuery を使用して Entity Framework Code First CTP5 のストアド プロシージャを呼び出す

Entity Framework Code First CTP5 の DbContext.Database.SqlQuery<TElement>(sql, params) メソッドを使用すると、ストアド プロシージャを呼び出し、結果を TElement 型オブジェクトのリストとして取得できます。ただし、ストアド プロシージャにパラメータが必要な場合は、SqlQuery の呼び出しでパラメータを指定する必要があります。

SqlParameter パラメータ

SqlParameter オブジェクトをパラメータとして指定する場合、パラメータ名を SQL クエリに含め、その前に @ 記号を付ける必要があります。たとえば、3 つのパラメーターを必要とするストアド プロシージャの場合、次のクエリを指定します:

<code class="language-sql">"mySpName @param1, @param2, @param3"</code>

次に、3 つの SqlParameter オブジェクトを作成し、次のように SqlQuery に渡します。

<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 Code First CTP5 でストアド プロシージャとパラメーターとともに DbContext.Database.SqlQuery を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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