MetaModel.GetTable Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vrátí metadata, která popisují tabulku datového modelu.
Přetížení
GetTable(String, Type) |
Vrátí metadata, která popisují zadanou tabulku. |
GetTable(Type) |
Vrátí metadata, která popisují zadanou tabulku. |
GetTable(String) |
Vrátí metadata přidružená k zadané tabulce. |
Příklady
Následující příklad ukazuje, jak pomocí GetTable přetížených metod provádět následující úlohy:
MetaTable Získejte objekt pro zadanou tabulku.
Získejte přístup k informacím o metadatech, které objekt obsahuje MetaTable .
Příklad se skládá ze stránky a jejího souboru s kódem.
<%@ Page Language="C#" AutoEventWireup="true"
CodeFile="GetTable.aspx.cs"
Inherits="DocGetTable" %>
<!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>GetTable Methods</h2>
<form runat="server">
<asp:GridView ID="GridDataSource1" runat="server"
AutoGenerateColumns="false"
DataSourceID="LinqDataSource1"
AllowPaging="true">
<Columns>
<asp:DynamicField DataField="FirstName" />
<asp:DynamicField DataField="LastName" />
<asp:TemplateField HeaderText="Addresses">
<ItemTemplate>
<%# GetAdresses(2)%>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</form>
<asp:LinqDataSource ID="LinqDataSource1" runat="server"
TableName="Customers"
ContextTypeName="AdventureWorksLTDataContext" >
</asp:LinqDataSource>
</body>
<%@ Page Language="VB" AutoEventWireup="false"
CodeFile="GetTable.aspx.vb"
Inherits="GetTable" %>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
</head>
<body>
<h2>GetTable Methods</h2>
<form id="Form1" runat="server">
<asp:GridView ID="GridDataSource1" runat="server"
AutoGenerateColumns="false"
DataSourceID="LinqDataSource1"
AllowPaging="true">
<Columns>
<asp:DynamicField DataField="FirstName" />
<asp:DynamicField DataField="LastName" />
<asp:TemplateField HeaderText="Addresses">
<ItemTemplate>
<%# GetAdresses(2)%>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</form>
<asp:LinqDataSource ID="LinqDataSource1" runat="server"
TableName="Customers"
ContextTypeName="AdventureWorksLTDataContext" >
</asp:LinqDataSource>
</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 DocGetTable : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
// Use GetTable methods.
public string GetAdresses(int index)
{
// Get the default data model.
MetaModel model = MetaModel.Default;
MetaTable mTable;
switch (index)
{
case 0:
// Get the metatable for the table with the
// specified entity type.
mTable = model.GetTable(typeof(CustomerAddress));
break;
case 1:
// Get the metatable for the table with the
// specified table name.
mTable = model.GetTable("CustomerAddresses");
break;
case 2:
// Get the metatable for the table with the
// specified table name and the specified data
// context.
mTable = model.GetTable("CustomerAddresses", typeof(AdventureWorksLTDataContext));
break;
default:
mTable = model.GetTable(typeof(CustomerAddress));
break;
}
// The following code dislays the actual value
// (adress) associated with a customer and link
// to the related Addresses table.
MetaForeignKeyColumn fkColumn =
(MetaForeignKeyColumn)mTable.GetColumn("Address");
Customer row = (Customer)GetDataItem();
StringBuilder addressList = new StringBuilder();
foreach (CustomerAddress childRow in row.CustomerAddresses)
{
addressList.Append(childRow.AddressType);
addressList.Append(":<br/>");
addressList.Append("<a href='");
addressList.Append(fkColumn.GetForeignKeyDetailsPath(childRow.Address));
addressList.Append("'>");
addressList.Append(childRow.Address.AddressLine1);
addressList.Append("</a><br/><br/>");
}
return addressList.ToString();
}
}
Imports System.Collections
Imports System.Configuration
Imports System.Data
Imports System.Linq
Imports System.Web
Imports System.Web.Security
Imports System.Web.UI
Imports System.Web.UI.HtmlControls
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts
Imports System.Xml.Linq
Imports System.Web.DynamicData
Imports System.Text
Partial Public Class DocGetTable
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
End Sub
' Use GetTable methods.
Public Function GetAdresses(ByVal index As Integer) As String
' Get the default data model.
Dim model As MetaModel = MetaModel.Default
Dim mTable As MetaTable
Select Case index
Case 0
' Get the metatable for the table with the
' specified entity type.
mTable = model.GetTable(GetType(CustomerAddress))
Case 1
' Get the metatable for the table with the
' specified table name.
mTable = model.GetTable("CustomerAddresses")
Case 2
' Get the metatable for the table with the
' specified table name and the specified data
' context.
mTable = model.GetTable("CustomerAddresses", GetType(AdventureWorksLTDataContext))
Case Else
mTable = model.GetTable(GetType(CustomerAddress))
End Select
' The following code dislays the actual value
' (adress) associated with a customer and link
' to the related Addresses table.
Dim fkColumn As MetaForeignKeyColumn = CType(mTable.GetColumn("Address"), MetaForeignKeyColumn)
Dim row As Customer = CType(GetDataItem(), Customer)
Dim addressList As New StringBuilder()
For Each childRow As CustomerAddress In row.CustomerAddresses
addressList.Append(childRow.AddressType)
addressList.Append(":<br/>")
addressList.Append("<a href='")
addressList.Append(fkColumn.GetForeignKeyDetailsPath(childRow.Address))
addressList.Append("'>")
addressList.Append(childRow.Address.AddressLine1)
addressList.Append("</a><br/><br/>")
Next childRow
Return addressList.ToString()
End Function
End Class
Poznámky
Objekt MetaTable vrácený přetíženými metodami obsahuje informace o metadatech, které jsou přidruženy k zadané tabulce.
Spusťte online příklad této funkce.
GetTable(String, Type)
Vrátí metadata, která popisují zadanou tabulku.
public:
System::Web::DynamicData::MetaTable ^ GetTable(System::String ^ tableName, Type ^ contextType);
public System.Web.DynamicData.MetaTable GetTable (string tableName, Type contextType);
member this.GetTable : string * Type -> System.Web.DynamicData.MetaTable
Public Function GetTable (tableName As String, contextType As Type) As MetaTable
Parametry
- tableName
- String
Název tabulky.
- contextType
- Type
Kontext dat, který chcete vyhledat tabulku.
Návraty
Metadata popisovaná zadanou tabulkou.
Výjimky
tablename
nebo contextType
je null
.
Kontext není zaregistrovaný nebo tabulka v kontextu dat neexistuje.
Příklady
Následující příklad ukazuje, jak pomocí GetTable(String, Type) metody získat metadata pro zadanou tabulku. Úplný příklad najdete v tématu GetTable.
// Get the metatable for the table with the
// specified table name and the specified data
// context.
mTable = model.GetTable("CustomerAddresses", typeof(AdventureWorksLTDataContext));
' Get the metatable for the table with the
' specified table name and the specified data
' context.
mTable = model.GetTable("CustomerAddresses", GetType(AdventureWorksLTDataContext))
Viz také
Platí pro
GetTable(Type)
Vrátí metadata, která popisují zadanou tabulku.
public:
System::Web::DynamicData::MetaTable ^ GetTable(Type ^ entityType);
public System.Web.DynamicData.MetaTable GetTable (Type entityType);
member this.GetTable : Type -> System.Web.DynamicData.MetaTable
Public Function GetTable (entityType As Type) As MetaTable
Parametry
- entityType
- Type
Typ, který identifikuje tabulku v datovém modelu.
Návraty
Metadata popisovaná zadanou tabulkou.
Výjimky
Typ nebyl v datovém modelu nalezen.
Příklady
Následující příklad ukazuje, jak pomocí GetTable(Type) metody získat metadata pro zadanou tabulku. Úplný příklad najdete v tématu GetTable.
// Get the metatable for the table with the
// specified entity type.
mTable = model.GetTable(typeof(CustomerAddress));
' Get the metatable for the table with the
' specified entity type.
mTable = model.GetTable(GetType(CustomerAddress))
Viz také
Platí pro
GetTable(String)
Vrátí metadata přidružená k zadané tabulce.
public:
System::Web::DynamicData::MetaTable ^ GetTable(System::String ^ uniqueTableName);
public System.Web.DynamicData.MetaTable GetTable (string uniqueTableName);
member this.GetTable : string -> System.Web.DynamicData.MetaTable
Public Function GetTable (uniqueTableName As String) As MetaTable
Parametry
- uniqueTableName
- String
Název, který identifikuje tabulku v datovém modelu.
Návraty
Metadata popisovaná zadanou tabulkou.
Výjimky
V datovém modelu nebyl nalezen název.
Příklady
Následující příklad ukazuje, jak pomocí GetTable(String) metody získat metadata pro zadanou tabulku. Úplný příklad najdete v tématu GetTable.
// Get the metatable for the table with the
// specified table name.
mTable = model.GetTable("CustomerAddresses");
' Get the metatable for the table with the
' specified table name.
mTable = model.GetTable("CustomerAddresses")
Poznámky
Název jednoznačně identifikuje tabulku v datovém modelu a slouží k vygenerování související adresy URL pro směrování.