internal static EdmProperty Clone(this EdmProperty property) { EdmProperty clone = EdmProperty.Create(property.Name, property.TypeUsage); clone.CollectionKind = property.CollectionKind; clone.ConcurrencyMode = property.ConcurrencyMode; clone.IsFixedLength = property.IsFixedLength; clone.IsMaxLength = property.IsMaxLength; clone.IsUnicode = property.IsUnicode; clone.MaxLength = property.MaxLength; clone.Precision = property.Precision; clone.Scale = property.Scale; clone.StoreGeneratedPattern = property.StoreGeneratedPattern; clone.SetMetadataProperties(property .MetadataProperties .Where(metadataProerty => !clone .MetadataProperties .Any(cloneMetadataProperty => cloneMetadataProperty.Name.EqualsOrdinal(metadataProerty.Name)))); return(clone); }