MethodInstance Element in MethodInstances (BDCMetadata Schema)

Applies to: SharePoint 2016 | SharePoint Foundation 2013 | SharePoint Online | SharePoint Server 2013

Specifies a MethodInstance.

Namespace: http://schemas.microsoft.com/windows/2007/BusinessDataCatalog

Schema: BDCMetadata

Note

The following two cases in a BDC model result in an InvalidOperationException at run time:

  • Two SpecificFinder method instances that return the same set of fields.
  • Two SpecificFinder method instances that have the same number of fields and that share the same number of fields with another method instance, such as a Finder.
<MethodInstance Type = "String" Default = "Boolean" ReturnParameterName = "String" ReturnTypeDescriptorName = "String" ReturnTypeDescriptorLevel = "Integer" Name = "String" DefaultDisplayName = "String" IsCached = "Boolean"> </MethodInstance>

Elements and attributes

The following sections describe attributes, child elements, and parent elements.

Attributes

Attribute

Description

**Type**

Required.

Specifies the type of the **MethodInstance**.

The following table lists the possible values for this attribute.

Value

Description

Finder

A type of **MethodInstance** that can be called to return a collection of zero or more **EntityInstances** of a particular **Entity**. **Finder** input is defined by the **FilterDescriptors** that are contained in the **Method** that contains the **Finder**.

SpecificFinder

A type of **MethodInstance** that can be called to return a specific **EntityInstance** of a specific **Entity** given its **EntityInstanceId**. **SpecificFinder** input is defined and ordered by the **Identifiers** that are associated with the **Entity**.

GenericInvoker

A type of **MethodInstance** that can be called to perform a specific task in an external system. **GenericInvoker** input and output is specific to the **Method**.

IdEnumerator

A type of **MethodInstance** that can be called to return the **Field** values that represent the identity of **EntityInstances** of a specific **Entity**. The **IdEnumerator** input is defined by the **FilterDescriptors** that are contained in the method that contains the **IdEnumerator** to get the list of IDs, which are the unique keys for each entity that should be searchable. This method instance enables external data search in Microsoft SharePoint Server 2010.

ChangedIdEnumerator

A type of **MethodInstance** that can be called to retrieve **EntityInstanceIds** of **EntityInstances** that were modified in an external system after a specified time.

DeletedIdEnumerator

A type of **MethodInstance** that can be called to retrieve **EntityInstanceIds** of **EntityInstances** that were deleted from an external system after the specified time.

Scalar

A **MethodInstance** that returns a single value that you can invoke in the external system. For example, you can use a scalar method instance to get the total sales made to date from the external system. **Entities** have zero or more scalar method instances.

AccessChecker

A type of **MethodInstance** that can be called to retrieve the permissions that the calling security principal has for each of a collection of **EntityInstances** that are identified by the specified **EntityInstanceIds**.

Creator

A type of **MethodInstance** that can be called to create an **EntityInstance**. The set of fields that are required to create the **EntityInstance** is referred to as the Creator View.

Deleter

A type of **MethodInstance** that can be called to delete an **EntityInstance** with a specified **EntityInstanceId**.

Updater

A type of **MethodInstance** that can be called to update an **EntityInstance** identified by a specified **EntityInstanceId**. The set of fields that is required to update the **EntityInstance** is known as the Updater View. The set of fields whose values should be passed before they are changed is known as the PreUpdater View.

StreamAccessor

A type of **MethodInstance** that can be called to retrieve a field of an **EntityInstance** in the form of a data stream of bytes.

BinarySecurityDescriptorAccessor

A type of **MethodInstance** that can be called to retrieve a sequence of bytes from an external system. The system-specific byte sequence describes a set of security principals and the associated permissions that each security principal has for the **EntityInstance** identified by a specified **EntityInstanceId**.

BulkSpecificFinder

A type of **MethodInstance** that can be called to return a set of specific **EntityInstances** of an **Entity**, given a set of corresponding **EntityInstanceIds**.

BulkIdEnumerator

A type of **MethodInstance** that can be called to retrieve minimal information about the external items corresponding to the given identities. This method instance can be used to optimize synchronization of cached data. This method should return only the identities and version information of the external items that correspond to given **Identities**, which the calling application can compare with the local version to identify if anything has changed, and if so, request the changed external items to update the cached data.

**Default**

Optional.

Specifies whether the **MethodInstance** is the default among all **MethodInstances** that share its type within the containing external content type (**Entity**).

Default value: **false**

Attribute type: **Boolean**

**ReturnParameterName**

Optional.

The name of the **Parameter** that contains the **ReturnTypeDescriptor** of the **MethodInstance**. The **Direction** attribute of the **Parameter** must be a **ParameterDirection** attribute with a value of **Out**, **InOut**, or **Return**.

This attribute must be specified for all types of **MethodInstances** except **GenericInvoker**, **Creator**, **Deleter**, and **Updater**.

Attribute type: **String**

**ReturnTypeDescriptorLevel**

Optional.

This has been deprecated. Use the **ReturnTypeDescriptorPath** instead.

Attribute type: **Integer**

**ReturnTypeDescriptorPath**

Optional.

The dotted path of the **TypeDescriptor** of the Association.

Attribute type: **String**

**Name**

Required.

Specifies the name of the **MethodInstance**.

Attribute type: **String**

**DefaultDisplayName**

Optional.

Specifies the default display name for the **MethodInstance**.

Attribute type: **String**

**IsCached**

Optional.

Specifies whether the **MethodInstance** is used frequently.

Default value: **true**

Attribute type: **Boolean**

Child elements

Element Description
LocalizedDisplayNames Element in MetadataObject (BDCMetadata Schema) The localized display names of the MethodInstance.
Properties Element in MetadataObject (BDCMetadata Schema) The properties of the MethodInstance.
AccessControlList Element (BDCMetadata Schema) The access control lists (ACLs) of the MethodInstance.

Parent elements

Element Description
MethodInstances Element in Method (BDCMetadata Schema) The MethodInstances element that contains this MethodInstance.