MetaModel.Tables Property
Gets a collection of all the tables that are part of the data model.
Assembly: System.Web.DynamicData (in System.Web.DynamicData.dll)
The collection contains all the tables in the data model, which includes the tables that are not visible (are not part of Dynamic Data scaffolding).
Run an online example of this feature.
The following example shows how to use the Tables and VisibleTables properties to perform the following tasks:
-
Get a collection of all the tables in a data model and show them in a GridView control.
-
Get a collection of the visible tables in a data model and show them in a GridView control.
The example consists of a page and its code-behind file.
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="TablesMenu.aspx.cs" Inherits="TablesMenu" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server"> <title></title> </head> <body> <h2>Tables</h2> <form runat="server"> <h4>Visible Tables</h4> <asp:GridView ID="Menu1" runat="server" AutoGenerateColumns="false"> <Columns> <asp:TemplateField HeaderText="Table Name" SortExpression="TableName"> <ItemTemplate> <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%#Eval("ListActionPath") %>'><%#Eval("DisplayName") %></asp:HyperLink> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> <h4>Tables in the Data Model</h4> <asp:GridView ID="Menu2" runat="server" AutoGenerateColumns="false"> <Columns> <asp:TemplateField HeaderText="Table Name" SortExpression="TableName"> <ItemTemplate> <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%#Eval("ListActionPath") %>'><%#Eval("DisplayName") %></asp:HyperLink> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> </form> </body>
using System; using System.Collections; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using System.Web.DynamicData; using System.Text; public partial class TablesMenu : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { GetVisibleTables(); GetTables(); } // Gets all the tables in the data model. protected void GetTables() { System.Collections.IList tables = MetaModel.Default.Tables; if (tables.Count == 0) { throw new InvalidOperationException( "There are no tables in the data model."); } Menu2.DataSource = tables; Menu2.DataBind(); } // Gets only the visible tables in the data model. protected void GetVisibleTables() { System.Collections.IList visibleTables = MetaModel.Default.VisibleTables; if (visibleTables.Count == 0) { throw new InvalidOperationException( "There are no accessible tables. Make sure that at least one data model is registered in Global.asax and scaffolding is enabled or implement custom pages."); } Menu1.DataSource = visibleTables; Menu1.DataBind(); } }
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.