/// <summary>
        /// Adds the type T as a child linked entity, additionally ensuring it is active.
        /// </summary>
        /// <typeparam name="T">The type of Entity</typeparam>
        /// <param name="link">The link.</param>
        /// <param name="linkFromAttributeName">Name of the link from attribute.</param>
        /// <param name="linkToAttributeName">Name of the link to attribute.</param>
        /// <param name="joinType">Type of the join.</param>
        /// <returns></returns>
        public static LinkEntity AddLink <T>(this LinkEntity link, string linkFromAttributeName, string linkToAttributeName, JoinOperator joinType) where T : Entity
        {
            var childLink = link.AddChildLink(EntityHelper.GetEntityLogicalName <T>(), linkFromAttributeName, linkToAttributeName, joinType);

            if (_activeOnly)
            {
                childLink.LinkCriteria.ActiveOnly <T>();
            }
            return(childLink);
        }
 /// <summary>
 /// Adds the new LinkEntity as a child to this LinkEnity, rather than this LinkEntity's LinkFrom Entity
 /// </summary>
 /// <param name="link"></param>
 /// <param name="linkToEntityName"></param>
 /// <param name="linkFromAttributeName"></param>
 /// <param name="linkToAttributeName"></param>
 /// <returns></returns>
 public static LinkEntity AddChildLink(this LinkEntity link, string linkToEntityName,
                                       string linkFromAttributeName, string linkToAttributeName)
 {
     return(link.AddChildLink(linkToEntityName, linkFromAttributeName, linkToAttributeName, JoinOperator.Inner));
 }
 /// <summary>
 /// Adds the new LinkEntity as a child to this LinkEnity, rather than this LinkEntity's LinkFrom Entity
 /// Assumes that the linkFromAttributeName and the linkToAttributeName are the same
 /// </summary>
 /// <param name="link"></param>
 /// <param name="linkToEntityName"></param>
 /// <param name="linkAttributesName"></param>
 /// <param name="joinType"></param>
 /// <returns></returns>
 public static LinkEntity AddChildLink(this LinkEntity link, string linkToEntityName, string linkAttributesName, JoinOperator joinType)
 {
     return(link.AddChildLink(linkToEntityName, linkAttributesName, linkAttributesName, joinType));
 }
 /// <summary>
 /// Adds the new LinkEntity as a child to this LinkEnity, rather than this LinkEntity's LinkFrom Entity
 /// Assumes that the linkFromAttributeName and the linkToAttributeName are the same
 /// </summary>
 /// <param name="link"></param>
 /// <param name="linkToEntityName"></param>
 /// <param name="linkAttributesName"></param>
 /// <returns></returns>
 public static LinkEntity AddChildLink(this LinkEntity link, string linkToEntityName, string linkAttributesName)
 {
     return(link.AddChildLink(linkToEntityName, linkAttributesName, linkAttributesName));
 }