/// <summary>The build tool tip.</summary> /// <param name="table">The table.</param> /// <param name="column">The column.</param> /// <returns>The build tool tip.</returns> private string BuildToolTip(DbModelTable table, DbModelColumn column) { string friendlyColumnName = Utility.MakeSqlFriendly(column.Name); string toolTip = table.FullName + "." + friendlyColumnName; if (column.IsKey) { toolTip += "; Primary Key"; } if (column.IsAutoIncrement) { toolTip += "; Auto*"; } if (column.ForeignKeyReference != null) { toolTip += string.Format("; FK -> {0}.{1}", column.ForeignKeyReference.ReferenceTable.FullName, column.ForeignKeyReference.ReferenceColumn.Name); } if (column.IsReadOnly) { toolTip += "; Read Only"; } return(toolTip); }
/// <summary>The navigate to.</summary> /// <param name="modelObject">The model object.</param> public void NavigateTo(IDbModelNamedObject modelObject) { if (modelObject == null) { return; } switch (modelObject.ObjectType) { case ObjectTypes.Table: foreach (TreeNode treeNode in _tablesNode.Nodes) { IDbModelNamedObject obj = treeNode.Tag as IDbModelNamedObject; if (obj != null && modelObject == obj) { SelectNode(treeNode); } } break; case ObjectTypes.View: foreach (TreeNode treeNode in _viewsNode.Nodes) { IDbModelNamedObject obj = treeNode.Tag as IDbModelNamedObject; if (obj != null && modelObject == obj) { SelectNode(treeNode); } } break; case ObjectTypes.Column: DbModelColumn modelColumn = modelObject as DbModelColumn; if (modelColumn != null) { foreach (TreeNode treeNode in _tablesNode.Nodes) { // only look in the tables nodw for FK refs DbModelTable modelTable = treeNode.Tag as DbModelTable; if (modelTable != null && modelTable == modelColumn.ParentTable) { // now find the column in the child nodes foreach (TreeNode columnNode in treeNode.Nodes) { DbModelColumn modelReferingColumn = columnNode.Tag as DbModelColumn; if (modelReferingColumn != null && modelReferingColumn == modelColumn) { SelectNode(columnNode); } } } } } break; } }
/// <summary>The get table or view by name.</summary> /// <param name="model">The model.</param> /// <param name="tableName">The table name.</param> /// <returns></returns> protected DbModelTable GetTableOrViewByName(DbModelInstance model, string tableName) { DbModelTable tableOrView = model.FindTable(tableName); if (tableOrView == null) { // check the views tableOrView = model.FindView(tableName); } return(tableOrView); }
public void nvelocity_with_dbmodel2() { DbModelInstance model = new DbModelInstance(); model.ConnectionString = "conn str"; model.ProviderName = "sql.foo"; DbModelTable table = new DbModelTable { Name = "MyTable" }; model.Add(table); table.Add(new DbModelColumn { Name = "ID" }); table.Add(new DbModelColumn { Name = "FirstName" }); Dictionary <string, object> items = new Dictionary <string, object>(); items.Add("model", model); string template = @"Template Test ($num): ConnectionString: ""$model.ConnectionString"" ProviderName: ""$model.ProviderName"" #foreach ($table in $model.Tables) $table.Name #foreach ($c in $table.Columns) * $c.Name #end #end "; string s = _formatter.Format(template, items); Console.WriteLine(s); Assert.That(s.Length, Is.GreaterThan(0)); }
/// <summary>The create tree nodes.</summary> /// <param name="table">The table.</param> private void CreateTreeNodes(DbModelTable table) { TreeNode tableNode = new TreeNode(table.FullName); tableNode.Name = table.FullName; tableNode.ImageKey = table.ObjectType; tableNode.SelectedImageKey = table.ObjectType; tableNode.ContextMenuStrip = TableNodeContextMenuStrip; tableNode.Tag = table; foreach (DbModelColumn column in table.Columns) { string friendlyColumnName = Utility.MakeSqlFriendly(column.Name); TreeNode columnNode = new TreeNode(friendlyColumnName); columnNode.Name = column.Name; string imageKey = BuildImageKey(column); columnNode.ImageKey = imageKey; columnNode.SelectedImageKey = imageKey; columnNode.ContextMenuStrip = ColumnNameContextMenuStrip; columnNode.Tag = column; columnNode.Text = GetSummary(column); string toolTip = BuildToolTip(table, column); columnNode.ToolTipText = toolTip; tableNode.Nodes.Add(columnNode); } switch (table.ObjectType) { case ObjectTypes.Table: _tablesNode.Nodes.Add(tableNode); break; case ObjectTypes.View: _viewsNode.Nodes.Add(tableNode); break; } }
public void Load(DbModelObjectBase model) { if (model.GetType() == typeof(DbModelTable)) { DbModelTable db = model as DbModelTable; string tableName = db.Name; DataTable datatable = new DataTable(); string connectionString = C[4] as string; DataConnection dc = new DataConnection(); dc.connectionString = connectionString; connectionString = dc.GetConnectionStringr(); string selectCommand = "SELECT * FROM " + tableName; SqlDataAdapter da = new SqlDataAdapter(selectCommand, connectionString); da.Fill(datatable); dg.DataSource = datatable; } }
/// <summary>Initializes a new instance of the <see cref="DbModelForeignKeyReference"/> class.</summary> /// <param name="owningColumn">The owning column.</param> /// <param name="fkTable">The fk table.</param> /// <param name="fkColumn">The fk column.</param> public DbModelForeignKeyReference(DbModelColumn owningColumn, DbModelTable fkTable, DbModelColumn fkColumn) { OwningColumn = owningColumn; ReferenceTable = fkTable; ReferenceColumn = fkColumn; }