MetaModel.GetTable Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Devuelve los metadatos que describen una tabla de modelo de datos.
Sobrecargas
GetTable(String, Type) |
Devuelve los metadatos que describen la tabla especificada. |
GetTable(Type) |
Devuelve los metadatos que describen la tabla especificada. |
GetTable(String) |
Devuelve los metadatos que están asociados a la tabla especificada. |
Ejemplos
En el ejemplo siguiente se muestra cómo usar los GetTable métodos sobrecargados para realizar las siguientes tareas:
Obtiene el MetaTable objeto de la tabla especificada.
Obtenga acceso a la información de metadatos contenida en el MetaTable objeto .
El ejemplo consta de una página y su archivo de código subyacente.
<%@ 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
Comentarios
El MetaTable objeto devuelto por los métodos sobrecargados contiene la información de metadatos asociada a la tabla especificada.
Ejecute un ejemplo en línea de esta característica.
GetTable(String, Type)
Devuelve los metadatos que describen la tabla 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
Nombre de la tabla.
- contextType
- Type
Contexto de datos para buscar la tabla.
Devoluciones
Metadatos que describen la tabla especificada.
Excepciones
tablename
o contextType
es null
.
El contexto no está registrado o la tabla no existe en el contexto de datos.
Ejemplos
En el ejemplo siguiente se muestra cómo usar el GetTable(String, Type) método para obtener los metadatos de la tabla especificada. Para obtener un ejemplo completo, consulte 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))
Consulte también
Se aplica a
GetTable(Type)
Devuelve los metadatos que describen la tabla 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
Tipo que identifica la tabla en el modelo de datos.
Devoluciones
Metadatos que describen la tabla especificada.
Excepciones
No se encontró el tipo en el modelo de datos.
Ejemplos
En el ejemplo siguiente se muestra cómo usar el GetTable(Type) método para obtener los metadatos de la tabla especificada. Para obtener un ejemplo completo, consulte 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))
Consulte también
Se aplica a
GetTable(String)
Devuelve los metadatos que están asociados a la tabla 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
Nombre que identifica la tabla en el modelo de datos.
Devoluciones
Metadatos que describen la tabla especificada.
Excepciones
No se encontró el nombre en el modelo de datos.
Ejemplos
En el ejemplo siguiente se muestra cómo usar el GetTable(String) método para obtener los metadatos de la tabla especificada. Para obtener un ejemplo completo, consulte 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")
Comentarios
El nombre identifica de forma única una tabla en el modelo de datos y se usa para generar la dirección URL relacionada para el enrutamiento.