DataServiceContext.SetLink Method

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Notifies the DataServiceContext that a new link exists between the objects specified and that the link is represented by the property specified by the sourceProperty parameter.

Namespace:  System.Data.Services.Client
Assembly:  System.Data.Services.Client (in System.Data.Services.Client.dll)

Syntax

'Declaration
Public Sub SetLink ( _
    source As Object, _
    sourceProperty As String, _
    target As Object _
)
public void SetLink(
    Object source,
    string sourceProperty,
    Object target
)

Parameters

  • sourceProperty
    Type: System.String
    The property on the source object that identifies the target object of the new link.
  • target
    Type: System.Object
    The child object involved in the new link that is to be initialized by calling this method. The target object must be a subtype of the type identified by the sourceProperty parameter. If target is set to null, the call represents a delete link operation.

Exceptions

Exception Condition
ArgumentNullException

When source, sourceProperty, or target are nulla null reference (Nothing in Visual Basic).

InvalidOperationException

When the link already exists.

-or-

When the source or target objects are in a Detached or Deleted state.

-or-

When sourceProperty is not a property that returns a reference.

Remarks

A new link is created in the Added state. The DataServiceContext adds this new link to the set of newly created links to be sent to the data service on the next call to BeginSaveChanges.

If the target argument is null, the link represented by sourceProperty should be removed or deleted (The link is moved to the Deleted state).

Links are one-way relationships. If a back pointer exists that indicates a two-way association, this method should be called again to notify the DataServiceContext of the second link

This method only supports adding links to relationships with multiplicity = 1 (The source property is an object reference). For example, if a class Person is related to another Person by a Friend property, this call could be used to relate Person to Person. This method will throw an exception if the sourceProperty represented has a relationship of cardinality greater than one.

Examples

For an example that uses the SetLink method, see Creating New Entities with Relationships (WCF Data Services/Silverlight).

Version Information

Silverlight

Supported in: 5, 4, 3

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.