public P InnerJoin <RE>(string fromAttributeName, string toAttributeName, Action <IJoinedEntity <P, E, RE> > expression) where RE : Entity, new() { var relatedRecordType = new RE().LogicalName; var joinEntity = new JoinedEntity <P, E, RE>(JoinOperator.Inner, RecordType, fromAttributeName, relatedRecordType, toAttributeName, this); expression(joinEntity); LinkEntities.Add(joinEntity.ToLinkEntity()); return((P)Parent); }
public LinkEntity AddLink(string linkToEntityName, string linkFromAttributeName, string linkToAttributeName, JoinOperator joinOperator) { LinkEntity link = new LinkEntity( EntityName, linkToEntityName, linkFromAttributeName, linkToAttributeName, joinOperator); LinkEntities.Add(link); return(link); }
internal string ToValueXml() { StringBuilder sb = new StringBuilder(); sb.Append(Util.ObjectToXml(ColumnSet, "a:ColumnSet", true)); sb.Append(Util.ObjectToXml(Criteria, "a:Criteria", true)); sb.Append(Util.ObjectToXml(Distinct, "a:Distinct", true)); sb.Append(Util.ObjectToXml(EntityName, "a:EntityName", true)); sb.Append(Util.ObjectToXml(LinkEntities.ToArray(), "a:LinkEntities", true)); sb.Append(Util.ObjectToXml(Orders.ToArray(), "a:Orders", true)); sb.Append(Util.ObjectToXml(PageInfo, "a:PageInfo", true)); sb.Append(Util.ObjectToXml(NoLock, "a:NoLock", true)); sb.Append(Util.ObjectToXml(TopCount, "a:TopCount", true)); return(sb.ToString()); }
internal string ToValueXml() { StringBuilder sb = new StringBuilder(); sb.Append(Util.ObjectToXml(Columns, "a:Columns", true)); sb.Append(Util.ObjectToXml(EntityAlias, "a:EntityAlias", true)); sb.Append(Util.ObjectToXml(JoinOperator, "a:JoinOperator", true)); sb.Append(Util.ObjectToXml(LinkCriteria, "a:LinkCriteria", true)); sb.Append(Util.ObjectToXml(LinkEntities.ToArray(), "a:LinkEntities", true)); sb.Append(Util.ObjectToXml(LinkFromAttributeName, "a:LinkFromAttributeName", true)); sb.Append(Util.ObjectToXml(LinkFromEntityName, "a:LinkFromEntityName", true)); sb.Append(Util.ObjectToXml(LinkToAttributeName, "a:LinkToAttributeName", true)); sb.Append(Util.ObjectToXml(LinkToEntityName, "a:LinkToEntityName", true)); return(sb.ToString()); }