ObjectContext::ExecuteFunction<TElement> Method (String^, array<ObjectParameter^>^)
Executes a stored procedure or function that is defined in the data source and mapped in the conceptual model, with the specified parameters. Returns a typed ObjectResult<T>.
Assembly: System.Data.Entity (in System.Data.Entity.dll)
public: generic<typename TElement> ObjectResult<TElement>^ ExecuteFunction( String^ functionName, ... array<ObjectParameter^>^ parameters )
Parameters
- functionName
-
Type:
System::String^
The name of the stored procedure or function. The name can include the container name, such as <Container Name>.<Function Name>. When the default container name is known, only the function name is required.
- parameters
-
Type:
array<System.Data.Objects::ObjectParameter^>^
An array of ObjectParameter objects.
Return Value
Type: System.Data.Objects::ObjectResult<TElement>^An ObjectResult<T> for the data that is returned by the stored procedure.
Type Parameters
- TElement
The entity type of the ObjectResult<T> returned when the function is executed against the data source. This type must implement IEntityWithChangeTracker.
| Exception | Condition |
|---|---|
| ArgumentException | function is null or empty -or- function is not found. |
| InvalidOperationException | The entity reader does not support this function. -or- There is a type mismatch on the reader and the function. |
The ExecuteFunction<TElement> method is a helper method that is used to execute stored procedures or functions that are defined in the data source and expressed in the conceptual model. The Entity Data Model tools generate a method for each in the conceptual model. These methods call a strongly-typed ExecuteFunction to return a typed ObjectResult<T>. For more information, see Application Code using Stored Procedures (Enity Framework).
All parameters for the function are required in the parameters array and all types are checked against the metadata for the import function, including the type of the function itself. null values are permitted for CLR value types. Parameter validation is performed by the provider.
The ExecuteFunction<TElement> method uses the MergeOption value of AppendOnly. Therefore, if an object already exists in the object context, it will not be loaded from the data source.
Available since 3.5