Exemplo n.º 1
0
 public CodeModelPropertyMetadata(CodeProperty property)
 {
     if (property == null)
     {
         throw new ArgumentNullException("property");
     }
     base.PropertyName    = property.Name;
     base.TypeName        = property.Type.AsFullName;
     base.ShortTypeName   = property.Type.AsString;
     base.IsPrimaryKey    = CodeModelPropertyMetadata.IsPropertyPrimaryKey(property);
     base.IsAutoGenerated = base.IsPrimaryKey;
     base.IsReadOnly      = !CodePropertyExtensions.HasPublicSetter(property);
     base.Scaffold        = CodeModelPropertyMetadata.IsScaffoldColumn(property);
 }
        private static IList <PropertyMetadata> GetModelProperties(CodeType codeType)
        {
            IList <PropertyMetadata> propertyMetadatas = new List <PropertyMetadata>();

            foreach (CodeProperty codeProperty in CodeTypeExtensions.GetPublicMembers(codeType).OfType <CodeProperty>())
            {
                if (!CodePropertyExtensions.HasPublicGetter(codeProperty) || CodePropertyExtensions.IsIndexerProperty(codeProperty) || !CodeModelModelMetadata.IsBindableType(codeProperty.Type))
                {
                    continue;
                }
                propertyMetadatas.Add(new CodeModelPropertyMetadata(codeProperty));
            }
            return(propertyMetadatas);
        }