protected void LoadTriggerRelationships() { DataTable trigs = new DataTable(); using (SqlConnection conn = new SqlConnection(ConnectionStringBuilder.ConnectionString)) { conn.Open(); using (SqlDataAdapter sda = new SqlDataAdapter(TRIGGER_QUERY, conn)) { sda.Fill(trigs); } conn.Close(); } foreach (DataRow trow in trigs.Rows) { string tblname = trow["table_name"].ToString(); string trigname = trow["trigger_name"].ToString(); SqlServerTriggerNode trignode = trigList.Where(t => t.ObjectName == trigname).SingleOrDefault(); SqlServerTableNode tblnode = tableList.Where(t => t.ObjectName == tblname).SingleOrDefault(); if (trignode != null && tblnode != null) { DataConnection trigrel = new DataConnection { ConnectionType = DbProcesses.Trigger, StartNode = trignode, EndNode = tblnode, Name = String.Format("Trigger {0} => {1}.{2}", trignode.ObjectName, tblnode.Schema, tblnode.ObjectName), Description = "Table Trigger" }; Relationships.Add(trigrel); } } }
protected List <SqlServerTriggerNode> LoadTriggers() { List <SqlServerTriggerNode> tlist = new List <SqlServerTriggerNode>(); DataTable trigs = new DataTable(); using (SqlConnection conn = new SqlConnection(ConnectionStringBuilder.ConnectionString)) { conn.Open(); using (SqlDataAdapter sda = new SqlDataAdapter(TRIGGER_QUERY, conn)) { sda.Fill(trigs); } conn.Close(); } foreach (DataRow trow in trigs.Rows) { SqlServerTriggerNode tnode = new SqlServerTriggerNode(trow["trigger_name"].ToString(), ConnectionStringBuilder); tnode.Schema = trow["table_schema"].ToString(); tnode.ObjectName = trow["trigger_name"].ToString(); List <string> ancestry = new List <string>(); ancestry.Add(Name); ancestry.Add(tnode.Schema); ancestry.Add(trow["table_name"].ToString()); tnode.Lineage = CreateNameSpace(ancestry); tlist.Add(tnode); } return(tlist); }