Beispiel #1
0
        protected override void OnRefresh(object sender, EventArgs args)
        {
            this.TreeNode.TreeView.BeginUpdate();

            //获取最新的表
            try
            {
                DbSchema.DatabaseSchema db = DatabaseSchema.CreateInstance(DBGlobalService.DbType);
                db.ConnectionString = DBGlobalService.ConnectionString;
                //db.Provider = new DbSchema.DbSchemaProvider.SqlSchemaProvider();
                var temp = db.GetTable(this.Name);
                if (temp == null)
                {
                    throw new Exception("数据库不存在该表:" + this.Name);
                }

                this.Table = db.GetTable(this.Name);

                this._modelNode.ColumnSetName = this.Table.Name;

                if (string.IsNullOrWhiteSpace(_modelNode.Name))
                {
                    this._modelNode.Name = this.Table.Name;
                }

                this._modelNode.Children.Clear();

                foreach (ColumnSchema column in this.Table.Columns)
                {
                    //如果没有该列对应字段,则添加
                    var exsitedNode = from n in this._modelNode.Children
                                      where (n is FieldNode) && ((FieldNode)n).ColumnName == column.Name
                                      select n;
                    if (exsitedNode.Count() == 0)
                    {
                        FieldNode fNode = NodeFactory.CreateNode <FieldNode>();// new FieldNode();
                        fNode.Assign(column);
                        fNode.Parent = this._modelNode;
                    }
                    else
                    {
                        ((FieldNode)exsitedNode.ElementAt(0)).Assign(column);
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("失败:" + ex.Message);
            }
            base.OnRefresh(sender, args);
            this.TreeNode.TreeView.EndUpdate();
        }
Beispiel #2
0
        protected override void OnRefresh(object sender, EventArgs args)
        {
            //获取最新的表
            try
            {
                DbSchema.DatabaseSchema db = DatabaseSchema.CreateInstance(this.DbType);
                db.ConnectionString = this.ConncetionString;
                //db.Provider = new DbSchema.DbSchemaProvider.SqlSchemaProvider();
                var tables = db.Tables;

                TablePackageNode tablePkgNode = null;
                foreach (BaseNode n in this.Children)
                {
                    if (n is TablePackageNode)
                    {
                        tablePkgNode = (TablePackageNode)n;
                    }
                }
                this.TreeNode.TreeView.BeginUpdate();
                foreach (DbSchema.TableSchema table in tables)
                {
                    if (table.IsView)
                    {
                        bool exsited = false;

                        foreach (ViewNode each in this._viewPackageNode.Children)
                        {
                            if (each.Name.Equals(table.Name))
                            {
                                exsited    = true;
                                each.Table = table;
                                break;
                            }
                        }

                        if (!exsited)
                        {
                            ViewNode tableNode = new ViewNode();

                            tableNode.Text   = tableNode.Name = table.Name;
                            tableNode.Parent = _viewPackageNode;
                            tableNode.Table  = table;
                        }
                    }
                    else
                    {
                        bool exsited = false;

                        foreach (TableNode each in tablePkgNode.Children)
                        {
                            if (each.Name.Equals(table.Name))
                            {
                                exsited    = true;
                                each.Table = table;
                                break;
                            }
                        }

                        if (!exsited)
                        {
                            TableNode tableNode = new TableNode();

                            tableNode.Text   = tableNode.Name = table.Name;
                            tableNode.Parent = tablePkgNode;
                            tableNode.Table  = table;
                        }
                    }
                }

                this.sortTables();
                this.TreeNode.TreeView.EndUpdate();
                //检查EF
            }
            catch (Exception ex)
            {
                MessageBox.Show("失败:" + ex.Message);
            }

            base.OnRefresh(sender, args);
        }