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