private static string BuildScript(ListDescriptor _ldx, StringBuilder script)
 {
     SQLGenerator.CreateTableScript _generator = new SQLGenerator.CreateTableScript();
     _generator.ColumnDefinitions    = new List <SQLGenerator.CreateTableScript.ColumDescriptor>(GetColumnDefinitions(_ldx.Columns));
     _generator.ConstrainDefinitions = new List <SQLGenerator.CreateTableScript.ConstrainDescriptor>(GetConstrainDescriptors(_ldx.Columns, _generator));
     _generator.PrivateKeyColumnName = _ldx.PFColumnName;
     _generator.TableName            = _ldx.SQLTableName;
     return(_generator.TransformText());
     //IEnumerable<PRColumn> _columns = ObjectModelRoot.ObjectModelRoot.Columns.Where<PRColumn>( _clx => _clx.) ;
 }
 private static IEnumerable <SQLGenerator.CreateTableScript.ConstrainDescriptor> GetConstrainDescriptors(IEnumerable <RegularColumn> columns, SQLGenerator.CreateTableScript parent)
 {
     return(columns.Where <RegularColumn>(_clmx => _clmx is ForeignKeyColumn).Cast <ForeignKeyColumn>().Select <ForeignKeyColumn, SQLGenerator.CreateTableScript.ConstrainDescriptor>(clx => new SQLGenerator.CreateTableScript.ConstrainDescriptor(parent)
     {
         ReferencedColumn = clx.ColumnName,
         FGColumnName = clx.ReferencedColumn,
         ReferencedTableName = clx.ReferencedTableName
     }));
 }