Exemplo n.º 1
0
        private TableMetadata CreateBaseMetadata(IMetadataBuilderContext context, IRelationMetadata attribute, TableMetadata parent)
        {
            TableMetadata metadata = new TableMetadata(attribute);

            metadata.Item       = this.CreateItem(context, metadata);
            metadata.Properties = new Lazy <IReadOnlyList <TableMetadata> >(() => this.CreateProperties(context, metadata).ToList());

            this.AddTableMetadata(metadata);
            this.AddColumnMetadata(metadata, parent);

            context.AddMetadata <ITableMetadata>(metadata);

            return(metadata);
        }
Exemplo n.º 2
0
 private IEnumerable <TableMetadata> CreateProperties(IMetadataBuilderContext context, TableMetadata parent)
 {
     foreach (IRelationMetadata property in parent.Relation.Properties)
     {
         yield return(this.CreateBaseMetadata(context, property, parent));
     }
 }