private void ResetAttribute()
        {
            string name = _name;

            if (name == null)
            {
                string type1 = typeof(TEntity).Name;
                string type2 = typeof(TMember).Name;

                if (isForeignKey)
                {
                    name = type2 + "_" + type1;
                }
                else
                {
                    name = type1 + "_" + type2;
                }
            }
            List <Attribute> memberMetaData = metadata.GetMemberMetadata(member);

            if (attribute != null)
            {
                memberMetaData.Remove(attribute);
            }
            attribute = new AssociationAttribute(name, MakeKey(fromKeys), MakeKey(toKeys))
            {
                IsForeignKey = isForeignKey
            };
            metadata.AddMetadata(member, attribute);
        }
Beispiel #2
0
        private DisplayAttribute GetDisplayAttribute()
        {
            DisplayAttribute displayAttribute = null;

            List <Attribute> attributes = _metadata.GetMemberMetadata(_memberName);

            if (attributes != null)
            {
                displayAttribute = attributes.OfType <DisplayAttribute>().FirstOrDefault();
            }

            if (displayAttribute == null)
            {
                displayAttribute = new DisplayAttribute();
                _metadata.AddMetadata(_memberName, displayAttribute);
            }

            return(displayAttribute);
        }
        public override PropertyDescriptorCollection GetProperties()
        {
            var propDescs = base.GetProperties();

            if (_metadata.HasEntityMemberMetadata)
            {
                var newPropDescs = new List <PropertyDescriptor>(propDescs.Count);

                foreach (PropertyDescriptor propDesc in propDescs)
                {
                    var memberMetadata = _metadata.GetMemberMetadata(propDesc.Name);
                    if (memberMetadata == null)
                    {
                        newPropDescs.Add(propDesc);
                    }
                    else
                    {
                        newPropDescs.Add(new WrappedPropertyDescriptor(propDesc, memberMetadata.ToArray()));
                    }
                }
                propDescs = new PropertyDescriptorCollection(newPropDescs.ToArray());
            }
            return(propDescs);
        }