LinkEntity Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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
[<System.Runtime.Serialization.DataContract(Name="LinkEntity", Namespace="http://schemas.microsoft.com/xrm/2011/Contracts")>]
type LinkEntity = class
interface IExtensibleDataObject
Public NotInheritable Class LinkEntity
Implements IExtensibleDataObject
- Inheritance
-
LinkEntity
- 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() |
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
| 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. |
| Orders |
Methods
| 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. |