LinkEntity Class
Applies To: Dynamics CRM 2015
Specifies the links between multiple entity types used in creating complex queries.
Namespace: Microsoft.Xrm.Sdk.Query
Assembly: Microsoft.Xrm.Sdk (in Microsoft.Xrm.Sdk.dll)
Inheritance Hierarchy
System.Object
Microsoft.Xrm.Sdk.Query.LinkEntity
Syntax
[DataContractAttribute(Name = "LinkEntity", Namespace = "https://schemas.microsoft.com/xrm/2011/Contracts")]
public sealed class LinkEntity : IExtensibleDataObject
[DataContractAttribute(Name = "LinkEntity", Namespace = "https://schemas.microsoft.com/xrm/2011/Contracts")]
public ref class LinkEntity sealed : IExtensibleDataObject
[<Sealed>]
[<DataContractAttribute(Name = "LinkEntity", Namespace = "https://schemas.microsoft.com/xrm/2011/Contracts")>]
type LinkEntity =
class
interface IExtensibleDataObject
end
<DataContractAttribute(Name := "LinkEntity", Namespace := "https://schemas.microsoft.com/xrm/2011/Contracts")>
Public NotInheritable Class LinkEntity
Implements IExtensibleDataObject
Constructors
Name | Description | |
---|---|---|
LinkEntity() | Initializes a new instance of the LinkEntity class. |
|
LinkEntity(String, String, String, String, JoinOperator) | Initializes a new instance of the LinkEntity class setting the required properties. |
Properties
Name | Description | |
---|---|---|
Columns | Gets or sets the column set. |
|
EntityAlias | Gets or sets the alias for the entity. |
|
ExtensionData | Gets or sets the structure that contains extra data. |
|
JoinOperator | Gets or sets the join operator. |
|
LinkCriteria | Gets or sets the complex condition and logical filter expressions that filter the results of the query. |
|
LinkEntities | Gets the links between multiple entity types. |
|
LinkFromAttributeName | Gets or sets the logical name of the attribute of the entity that you are linking from. |
|
LinkFromEntityName | Gets or sets the logical name of the entity that you are linking from. |
|
LinkToAttributeName | Gets or sets the logical name of the attribute of the entity that you are linking to. |
|
LinkToEntityName | Gets or sets the logical name of the entity that you are linking to. |
Methods
Name | Description | |
---|---|---|
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) | Adds a link setting the link to entity name, the link from attribute name, the link to attribute name, and the join operator. |
|
Equals(Object) | (Inherited from Object.) |
|
GetHashCode() | (Inherited from Object.) |
|
GetType() | (Inherited from Object.) |
|
ToString() | (Inherited from Object.) |
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"]);
Thread Safety
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
See Also
LinkEntities
Microsoft.Xrm.Sdk.Query Namespace
Return to top
© 2016 Microsoft. All rights reserved. Copyright