MetaModel.GetTable Метод

Определение

Возвращает метаданные, описывающие таблицу модели данных.

Перегрузки

GetTable(String, Type)

Возвращает метаданные, описывающие заданную таблицу.

GetTable(Type)

Возвращает метаданные, описывающие заданную таблицу.

GetTable(String)

Возвращает метаданные, связанные с заданной таблицей.

Примеры

В следующем примере показано, как использовать GetTable перегруженные методы для выполнения следующих задач:

  • MetaTable Получение объекта для указанной таблицы.

  • Доступ к сведениям о метаданных, содержащихся в объекте MetaTable .

Пример состоит из страницы и его файла кода программной части.

<%@ 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

Комментарии

Объект MetaTable , возвращаемый перегруженными методами, содержит сведения о метаданных, связанные с указанной таблицей.

Запустите интерактивный пример этой функции.

GetTable(String, Type)

Возвращает метаданные, описывающие заданную таблицу.

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

Параметры

tableName
String

Имя таблицы.

contextType
Type

Контекст данных для поиска таблицы.

Возвращаемое значение

MetaTable

Метаданные, описывающие заданную таблицу.

Исключения

Параметр tablename или contextType имеет значение null.

Контекст не зарегистрирован или таблица не существует в этом контексте данных.

Примеры

В следующем примере показано, как использовать GetTable(String, Type) метод для получения метаданных для указанной таблицы. Полный пример содержится в разделе 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))

См. также раздел

Применяется к

GetTable(Type)

Возвращает метаданные, описывающие заданную таблицу.

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

Параметры

entityType
Type

Тип, идентифицирующий таблицу в модели данных.

Возвращаемое значение

MetaTable

Метаданные, описывающие заданную таблицу.

Исключения

Тип не найден в модели данных.

Примеры

В следующем примере показано, как использовать GetTable(Type) метод для получения метаданных для указанной таблицы. Полный пример содержится в разделе 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))

См. также раздел

Применяется к

GetTable(String)

Возвращает метаданные, связанные с заданной таблицей.

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

Параметры

uniqueTableName
String

Имя, идентифицирующее таблицу в модели данных.

Возвращаемое значение

MetaTable

Метаданные, описывающие заданную таблицу.

Исключения

Имя не найдено в модели данных.

Примеры

В следующем примере показано, как использовать GetTable(String) метод для получения метаданных для указанной таблицы. Полный пример содержится в разделе 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")

Комментарии

Имя однозначно идентифицирует таблицу в модели данных и используется для создания связанного URL-адреса для маршрутизации.

См. также раздел

Применяется к