MetaModel.GetTable 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
傳回描述資料模型資料表的中繼資料。
多載
GetTable(String, Type) |
傳回描述指定之資料表的中繼資料。 |
GetTable(Type) |
傳回描述指定之資料表的中繼資料。 |
GetTable(String) |
傳回與指定之資料表相關聯的中繼資料。 |
範例
下列範例示範如何使用 GetTable 多載方法來執行下列工作:
此範例包含頁面及其程式碼後置檔案。
<%@ 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
要搜尋資料表的資料內容。
傳回
中繼資料,描述指定的資料表。
例外狀況
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
型別,識別資料模型中的資料表。
傳回
中繼資料,描述指定的資料表。
例外狀況
資料模型中找不到型別。
範例
下列範例示範如何使用 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
名稱,識別資料模型中的資料表。
傳回
中繼資料,描述指定的資料表。
例外狀況
資料模型中找不到名稱。
範例
下列範例示範如何使用 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。