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