ObjectParameterCollection.Add(ObjectParameter) メソッド

定義

指定された ObjectParameter をコレクションに追加します。Adds the specified ObjectParameter to the collection.

public:
 virtual void Add(System::Data::Objects::ObjectParameter ^ parameter);
public void Add (System.Data.Objects.ObjectParameter parameter);
abstract member Add : System.Data.Objects.ObjectParameter -> unit
override this.Add : System.Data.Objects.ObjectParameter -> unit
Public Sub Add (parameter As ObjectParameter)

パラメーター

parameter
ObjectParameter

コレクションに追加するパラメーター。The parameter to add to the collection.

実装

例外

parameter 引数が null です。The parameter argument is null.

引数 parameter はコレクション内に既に存在します。The parameter argument already exists in the collection. この動作は、エントリの重複を許可するほとんどのコレクションの動作とは異なります。This behavior differs from that of most collections that allow duplicate entries.

- または --or- 引数 parameter と同じ名前を持つ別のパラメーターがコレクション内に既に存在します。Another parameter with the same name as the parameter argument already exists in the collection. 参照では大文字と小文字が区別されないことに注意してください。Note that the lookup is case-insensitive. この動作は、ほとんどのコレクションの動作とは異なり、むしろ Dictionary<TKey,TValue> の動作に似ています。This behavior differs from that of most collections, and is more like that of a Dictionary<TKey,TValue>.

parameter の型が有効ではありません。The type of the parameter is not valid.

このトピックの例は、 AdventureWorks Sales Modelに基づいています。The example in this topic is based on the AdventureWorks Sales Model. この例では、新しいパラメーターをコレクションに追加します。The example adds new parameters to the collection. ObjectParameterCollection を反復処理し、コレクション内の各パラメーターの名前、型、および値を表示します。It iterates through the ObjectParameterCollection and displays the name, type, and value of each parameter in the collection.

using (AdventureWorksEntities context =
    new AdventureWorksEntities())
{
    string queryString =
        @"SELECT VALUE contact FROM AdventureWorksEntities.Contacts 
        AS contact WHERE contact.LastName = @ln AND contact.FirstName = @fn";

    ObjectQuery<Contact> contactQuery =
        new ObjectQuery<Contact>(queryString, context);

    // Add parameters to the collection.
    contactQuery.Parameters.Add(new ObjectParameter("ln", "Adams"));
    contactQuery.Parameters.Add(new ObjectParameter("fn", "Frances"));

    ObjectParameterCollection objectParameterCollection =
        contactQuery.Parameters;

    Console.WriteLine("Count is {0}.", objectParameterCollection.Count);

    // Iterate through the ObjectParameterCollection collection.
    foreach (ObjectParameter result in objectParameterCollection)
    {
        Console.WriteLine("{0} {1} {2}", result.Name,
            result.Value,
            result.ParameterType);
    }
}
Using context As New AdventureWorksEntities()
    Dim queryString As String = "SELECT VALUE contact FROM AdventureWorksEntities.Contacts " & _
            " AS contact WHERE contact.LastName = @ln AND contact.FirstName = @fn"

    Dim contactQuery As New ObjectQuery(Of Contact)(queryString, context)

    ' Add parameters to the collection. 
    contactQuery.Parameters.Add(New ObjectParameter("ln", "Adams"))
    contactQuery.Parameters.Add(New ObjectParameter("fn", "Frances"))

    Dim objectParameterCollection As ObjectParameterCollection = contactQuery.Parameters

    Console.WriteLine("Count is {0}.", objectParameterCollection.Count)

    ' Iterate through the ObjectParameterCollection collection. 
    For Each result As ObjectParameter In objectParameterCollection
        Console.WriteLine("{0} {1} {2}", result.Name, result.Value, result.ParameterType)
    Next
End Using

注釈

クエリがコンパイルまたは実行されていない限り、パラメーターを追加した後で、コレクションからパラメーターを削除することも、コレクションをクリアすることもできます。After parameters have been added, they can be removed from the collection and the collection can be cleared, as long as the query has not been compiled or executed. パラメーター名は変更できませんが、値はいつでも変更できます。Parameter names cannot be changed, but values can be changed at any time.

パラメーターは、ObjectParameterCollection 内で一意である必要があります。Parameters must be unique in the ObjectParameterCollection. コレクション内に同じ名前のパラメーターが 2 つ存在することはできません。There cannot be two parameters in the collection with the same name. 詳細については、「クエリビルダーメソッド」を参照してください。For more information, see Query Builder Methods.

適用対象

こちらもご覧ください