This article was translated by machine. To view in the article in English, select the English check box. You can also display the English text in a popup window by moving the mouse pointer over the text.
الترجمة
الأصلي
This documentation is archived and is not being maintained.

MetaModel.GetTable أسلوب

Visual Studio 2010

إرجاع تصف جدول طراز بيانات ملفات التعريف.

  (الاسم) الوصف
أسلوب عام GetTable(String) إرجاع بيانات التعريف هو المقترنة بالجدول المحدد.
أسلوب عام GetTable(Type) إرجاع بيانات التعريف التي تصف الجدول المحدد.
أسلوب عام GetTable(String, Type) إرجاع بيانات التعريف التي تصف الجدول المحدد.
أعلى

استثناء: شرط
ArgumentNullException

جدول غير موجود.

MetaTable الكائنات التي هو يتم إرجاعها مع overloaded وظائف يحتوي على معلومات بيانات التعريف التي هو المقترنة بالجدول المحدد.

Run مثال مباشرة لهذه الميزة.

يوضح المثال التالي كيفية إلى استخدام 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>



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();

    }

}


إظهار: