ObjectParameter Constructors

Definition

Initializes a new instance of the ObjectParameter class.

Overloads

ObjectParameter(String, Object)

Initializes a new instance of the ObjectParameter class with the specified name and value.

ObjectParameter(String, Type)

Initializes a new instance of the ObjectParameter class with the specified name and type.

ObjectParameter(String, Object)

Initializes a new instance of the ObjectParameter class with the specified name and value.

public:
 ObjectParameter(System::String ^ name, System::Object ^ value);
public ObjectParameter (string name, object value);
new System.Data.Objects.ObjectParameter : string * obj -> System.Data.Objects.ObjectParameter
Public Sub New (name As String, value As Object)

Parameters

name
String

The parameter name. This name should not include the "@" parameter marker that is used in Entity SQL statements, only the actual name. The first character of the expression must be a letter. Any successive characters in the expression must be either letters, numbers, or an underscore (_) character.

value
Object

The initial value (and inherently, the type) of the parameter.

Exceptions

If the value of either argument is null.

If the value of the name argument is not valid. Parameter names must start with a letter and can only contain letters, numbers, and underscores.

Examples

The example in this topic is based on the AdventureWorks Sales Model. The example adds new parameters to the collection. It iterates through the ObjectParameterCollection and displays the name, the type and the 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;

    // Iterate through the ObjectParameterCollection.
    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

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

Remarks

This constructor creates a parameter from the specified name and value. The type of the parameter is inferred from the value.

When added to the ObjectParameterCollection, the parameter name cannot be changed. The parameter value can be changed through the Value property. After the query has been compiled, the value cannot be changed. For more information, see Query Builder Methods.

See also

ObjectParameter(String, Type)

Initializes a new instance of the ObjectParameter class with the specified name and type.

public:
 ObjectParameter(System::String ^ name, Type ^ type);
public ObjectParameter (string name, Type type);
new System.Data.Objects.ObjectParameter : string * Type -> System.Data.Objects.ObjectParameter

Parameters

name
String

The parameter name. This name should not include the "@" parameter marker that is used in the Entity SQL statements, only the actual name. The first character of the expression must be a letter. Any successive characters in the expression must be either letters, numbers, or an underscore (_) character.

type
Type

The common language runtime (CLR) type of the parameter.

Exceptions

If the value of either argument is null.

If the value of the name argument is invalid. Parameter names must start with a letter and can only contain letters, numbers, and underscores.

Remarks

When instantiated, the parameter name cannot be changed. The parameter value can be set or changed through the Value property. After the query has been compiled, the value cannot be changed. For more information, see Query Builder Methods.

Applies to