How to: Create Calculated Values to Join Objects

The following example shows how to create a value that you can use to search for a CSEntry object to join with a CSEntry object. In this example, the objects in the FIM Synchronization Service database (metaverse) have a displayName attribute that consists of the first and last name. The names are separate attributes in the connector space.

Public Sub MapAttributesForJoin(ByVal FlowRuleName As String, _
                                 ByVal csentry As CSEntry, _
                                 ByRef values As ValueCollection) _
                                 Implements IMASynchronization.MapAttributesForJoin

   Select Case FlowRuleName
      Case "displayName"

         ' Create the final value from two other values and add the final
         ' value to the values collection used to search the <tla rid="fim_syncdb_short" />.
         Dim displayName As String
         displayName = csentry("givenName").Value + " " + csentry("sn").Value
         values.Add(displayName)

      Case Else
         Throw New EntryPointNotImplementedException

   End Select
End Sub
void IMASynchronization.MapAttributesForJoin (string FlowRuleName, 
                                        CSEntry csentry, ref ValueCollection values)
{
   switch(FlowRuleName)
   {
      case "displayName":
      
         // Create the final value from two other values and add the final
         // value to the values collection used to search the <tla rid="fim_syncdb_short" />
         string displayName = csentry["givenName"].Value + " " + csentry["sn"].Value;
         values.Add(displayName);
         break;    
      
      default:
         throw new EntryPointNotImplementedException();

   }
}

See Also

Reference

CSEntry
MapAttributesForJoin
CSEntry

Concepts

Transforming Data