示例#1
0
        private void FixExtractionResultSqlServerFamily(SqlExtractionResult result)
        {
            // Don't bother about tables for diagramming

            foreach (var schema in result.Catalogs.SelectMany(c => c.Schemas))
            {
                var tables      = schema.Tables;
                var sysdiagrams = tables["sysdiagrams"];
                if (sysdiagrams != null)
                {
                    tables.Remove(sysdiagrams);
                }
            }
        }
示例#2
0
        private void FixExtractionResult(SqlExtractionResult result)
        {
            switch (ProviderInfo.ProviderName)
            {
            case WellKnown.Provider.SqlServer:
            case WellKnown.Provider.SqlServerCe:
                FixExtractionResultSqlServerFamily(result);
                break;

            case WellKnown.Provider.Sqlite:
                FixExtractionResultSqlite(result);
                break;
            }
        }
示例#3
0
        private void FixExtractionResultSqlite(SqlExtractionResult result)
        {
            var tablesToFix =
                result.Catalogs
                .SelectMany(c => c.Schemas)
                .SelectMany(s => s.Tables)
                .Where(t => t.Name.EndsWith("-Generator", StringComparison.Ordinal) &&
                       t.TableColumns.Count == 1 &&
                       t.TableColumns[0].SequenceDescriptor == null);

            foreach (var table in tablesToFix)
            {
                var column = table.TableColumns[0];
                column.SequenceDescriptor = new SequenceDescriptor(column, 1, 1);
            }
        }
 public SchemaExtractionResult(SqlExtractionResult sqlExtractionResult)
 {
     LockedTables = new Dictionary <string, string>();
     Catalogs     = sqlExtractionResult.Catalogs;
 }