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); }
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); }