public static List<ViewInfo> GetViews(string connectionString, params string[] filterViews) { List<ViewInfo> views = new List<ViewInfo>(); SqlCommand cmd = new SqlCommand(); string query = "Select TABLE_NAME as Name from information_schema.views"; if (filterViews.Length > 0) { query = query + " WHERE TABLE_NAME in " + filterViews.ToWhereClauseInCommaList(); } views = cmd.GetTypedList<ViewInfo>(query, CommandType.Text, connectionString); foreach (ViewInfo v in views) { v.ConnectionString = connectionString; } return views; }
public static List<ViewColumn> GetViewColumns(string connectionString, params string[] filterViews) { SqlCommand cmd = new SqlCommand(); string query = "Select COLUMN_NAME AS Name, table_name as ViewName, ORDINAL_POSITION AS Position, COLUMN_DEFAULT As DefaultValue,IS_NULLABLE AS IsNullable, DATA_TYPE as DataType, CHARACTER_MAXIMUM_LENGTH as MaxLength,NUMERIC_PRECISION as NumericPrecision, CHARACTER_OCTET_LENGTH as OctetLength from information_schema.Columns order by ORDINAL_POSITION"; if (filterViews.Length > 0) { query = "Select COLUMN_NAME AS Name, table_name as ViewName, ORDINAL_POSITION AS Position, COLUMN_DEFAULT As DefaultValue,IS_NULLABLE AS IsNullable, DATA_TYPE as DataType, CHARACTER_MAXIMUM_LENGTH as MaxLength,NUMERIC_PRECISION as NumericPrecision, CHARACTER_OCTET_LENGTH as OctetLength from information_schema.Columns WHERE table_name in [[filter]] order by ORDINAL_POSITION" .Replace("[[filter]]", filterViews.ToWhereClauseInCommaList()); } return cmd.GetTypedList<ViewColumn>(query,CommandType.Text, connectionString); }