Наследование: TaggedValue
        public AttributeTag getAttributeTagByGUID(string GUID)
        {
            AttributeTag attributeTag  = null;
            string       getAttributes = @"select elementid from t_attributetag
									where ea_guid like '"                                     + GUID + "'";
            XmlDocument  xmlElementIDs = this.SQLQuery(getAttributes);
            XmlNode      elementNode   = xmlElementIDs.SelectSingleNode("//elementid");

            if (elementNode != null)
            {
                int objectID;
                if (int.TryParse(elementNode.InnerText, out objectID))
                {
                    Attribute owner = this.getAttributeByID(objectID);
                    if (owner != null)
                    {
                        foreach (TaggedValue taggedValue in owner.taggedValues)
                        {
                            if (taggedValue.ea_guid.Equals(GUID, StringComparison.InvariantCultureIgnoreCase))
                            {
                                attributeTag = taggedValue as AttributeTag;
                            }
                        }
                    }
                }
            }
            return(attributeTag);
        }
        public List <AttributeTag> getAttributeTagsWithValue(string value)
        {
            List <AttributeTag> attributeTags = new List <AttributeTag>();
            string sqlFindGUIDS = @"select ea_guid from t_attributetag
								where value like '"                                 + value + "'";
            // get the nodes with the name "ea_guid"
            XmlDocument xmlTagGUIDs  = this.SQLQuery(sqlFindGUIDS);
            XmlNodeList tagGUIDNodes = xmlTagGUIDs.SelectNodes("//ea_guid");

            foreach (XmlNode guidNode in tagGUIDNodes)
            {
                AttributeTag attributeTag = this.getAttributeTagByGUID(guidNode.InnerText);
                if (attributeTag != null)
                {
                    attributeTags.Add(attributeTag);
                }
            }
            return(attributeTags);
        }