예제 #1
0
        private void UpdateIndexes(DatabaseTable table, IList <DatabaseIndex> indexes)
        {
            var tableIndexes = indexes.Where(x => x.SchemaOwner == table.SchemaOwner &&
                                             x.TableName == table.Name);

            foreach (var index in tableIndexes)
            {
                table.AddIndex(index);
            }
        }
예제 #2
0
        private void UpdateIndexes(DatabaseTable table, IList <DatabaseIndex> indexes)
        {
            var tableIndexes = indexes.Where(x => x.SchemaOwner == table.SchemaOwner &&
                                             x.TableName == table.Name);

            foreach (var index in tableIndexes)
            {
                var list = new List <DatabaseColumn>();
                foreach (var indexColumn in index.Columns)
                {
                    var tableColumn = table.Columns.FirstOrDefault(c => c.Name == indexColumn.Name);
                    if (tableColumn != null)
                    {
                        list.Add(tableColumn);
                    }
                }
                index.Columns.Clear();
                index.Columns.AddRange(list);
                table.AddIndex(index);
            }
        }