LinkEntity LinkEntity LinkEntity LinkEntity Class

Definition

Specifies the links between multiple entity types used in creating complex queries.

public ref class LinkEntity sealed : System::Runtime::Serialization::IExtensibleDataObject
[System.Runtime.Serialization.DataContract(Name="LinkEntity", Namespace="http://schemas.microsoft.com/xrm/2011/Contracts")]
public sealed class LinkEntity : System.Runtime.Serialization.IExtensibleDataObject
type LinkEntity = class
    interface IExtensibleDataObject
Public NotInheritable Class LinkEntity
Implements IExtensibleDataObject
Inheritance
LinkEntityLinkEntityLinkEntityLinkEntity
Attributes
Implements

Examples


q = new QueryExpression();
q.EntityName = "account";
q.ColumnSet = new ColumnSet();
q.ColumnSet.Columns.Add("name");

q.LinkEntities.Add(new LinkEntity("account", "contact", "primarycontactid", "contactid", JoinOperator.Inner));
q.LinkEntities[0].Columns.AddColumns("firstname", "lastname");
q.LinkEntities[0].EntityAlias = "temp";

q.Criteria = new FilterExpression();
q.Criteria.AddCondition("accountnumber", ConditionOperator.Equal, accountNumber);
q.Orders.Add(new OrderExpression("name", OrderType.Descending));
q.Distinct = true;
EntityCollection ec = this.Context.Proxy.RetrieveMultiple(q);

Log.Assert(ec.Entities.Count == 3, "Expected 3 entities, received {0}", ec.Entities.Count);
Log.Assert((string)ec.Entities[0]["name"] == "SdkAccount3", "First Entity should be SdkAccount3");
Log.Assert((string)ec.Entities[1]["name"] == "SdkAccount2", "First Entity should be SdkAccount2");
Log.Assert((string)ec.Entities[2]["name"] == "SdkAccount1", "First Entity should be SdkAccount1");
Log.Assert((string)((AliasedValue)ec.Entities[0]["temp.firstname"]).Value == (string)contact["firstname"], "Expected {0} Got {1}", contact["firstname"], ec.Entities[0]["temp.firstname"]);
Log.Assert((string)((AliasedValue)ec.Entities[1]["temp.lastname"]).Value == (string)contact["lastname"], "Expected {0} Got {1}", contact["lastname"], ec.Entities[1]["temp.lastname"]);

Constructors

LinkEntity() LinkEntity() LinkEntity() LinkEntity()

Initializes a new instance of the LinkEntity class.

LinkEntity(String, String, String, String, JoinOperator) LinkEntity(String, String, String, String, JoinOperator) LinkEntity(String, String, String, String, JoinOperator) LinkEntity(String, String, String, String, JoinOperator)

Initializes a new instance of the LinkEntity class setting the required properties.

Properties

Columns Columns Columns Columns

Gets or sets the column set.

EntityAlias EntityAlias EntityAlias EntityAlias

Gets or sets the alias for the entity.

ExtensionData ExtensionData ExtensionData ExtensionData

Gets or sets the structure that contains extra data.

JoinOperator JoinOperator JoinOperator JoinOperator

Gets or sets the join operator.

LinkCriteria LinkCriteria LinkCriteria LinkCriteria

Gets or sets the complex condition and logical filter expressions that filter the results of the query.

LinkEntities LinkEntities LinkEntities LinkEntities

Gets the links between multiple entity types.

LinkFromAttributeName LinkFromAttributeName LinkFromAttributeName LinkFromAttributeName

Gets or sets the logical name of the attribute of the entity that you are linking from.

LinkFromEntityName LinkFromEntityName LinkFromEntityName LinkFromEntityName

Gets or sets the logical name of the entity that you are linking from.

LinkToAttributeName LinkToAttributeName LinkToAttributeName LinkToAttributeName

Gets or sets the logical name of the attribute of the entity that you are linking to.

LinkToEntityName LinkToEntityName LinkToEntityName LinkToEntityName

Gets or sets the logical name of the entity that you are linking to.

Orders Orders Orders Orders

Methods

AddLink(String, String, String) AddLink(String, String, String) AddLink(String, String, String) AddLink(String, String, String)

Adds a link, setting the link to entity name, the link from attribute name and the link to attribute name.

AddLink(String, String, String, JoinOperator) AddLink(String, String, String, JoinOperator) AddLink(String, String, String, JoinOperator) AddLink(String, String, String, JoinOperator)

Adds a link setting the link to entity name, the link from attribute name, the link to attribute name, and the join operator.

Applies to

See also