MetaModel.GetTable Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Devolve os metadados que descrevem uma tabela de modelos de dados.
Sobrecargas
| Name | Description |
|---|---|
| GetTable(String, Type) |
Devolve os metadados que descrevem a tabela especificada. |
| GetTable(Type) |
Devolve os metadados que descrevem a tabela especificada. |
| GetTable(String) |
Devolve os metadados associados à tabela especificada. |
Exemplos
O exemplo seguinte mostra como usar os GetTable métodos sobrecarregados para realizar as seguintes tarefas:
- Obtenha o MetaTable objeto para a tabela especificada.
- Aceda à informação de metadados contida pelo MetaTable objeto.
O exemplo consiste numa página e no seu ficheiro code-behind.
<%@ 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
Observações
O MetaTable objeto que é devolvido pelos métodos sobrecarregados contém a informação de metadados associada à tabela especificada.
GetTable(String, Type)
Devolve os metadados que descrevem a tabela especificada.
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
Parâmetros
- tableName
- String
O nome da tabela.
- contextType
- Type
O contexto dos dados para procurar a tabela.
Devoluções
Os metadados que descrevem a tabela especificada.
Exceções
tablename ou contextType é null.
O contexto não é registado ou a tabela não existe no contexto dos dados.
Exemplos
O exemplo seguinte mostra como usar o GetTable(String, Type) método para obter os metadados para a tabela especificada. Para um exemplo completo, veja 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))
Ver também
Aplica-se a
GetTable(Type)
Devolve os metadados que descrevem a tabela especificada.
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
Parâmetros
- entityType
- Type
O tipo que identifica a tabela no modelo de dados.
Devoluções
Os metadados que descrevem a tabela especificada.
Exceções
O tipo não foi encontrado no modelo de dados.
Exemplos
O exemplo seguinte mostra como usar o GetTable(Type) método para obter os metadados para a tabela especificada. Para um exemplo completo, veja 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))
Ver também
Aplica-se a
GetTable(String)
Devolve os metadados associados à tabela especificada.
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
Parâmetros
- uniqueTableName
- String
O nome que identifica a tabela no modelo de dados.
Devoluções
Os metadados que descrevem a tabela especificada.
Exceções
O nome não foi encontrado no modelo de dados.
Exemplos
O exemplo seguinte mostra como usar o GetTable(String) método para obter os metadados para a tabela especificada. Para um exemplo completo, veja 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")
Observações
O nome identifica de forma única uma tabela no modelo de dados e é usado para gerar a URL relacionada para o encaminhamento.