Bagikan melalui


MetaModel Kelas

Definisi

Mewakili satu atau beberapa database yang digunakan oleh ASP.NET Data Dinamis.

public ref class MetaModel
public class MetaModel
type MetaModel = class
Public Class MetaModel
Warisan
MetaModel

Contoh

Contoh berikut menunjukkan cara menggunakan MetaModel tipe untuk melakukan tugas berikut untuk menggunakan perancah otomatis di situs web ASP.NET:

  • Dapatkan model data untuk konteks data default.

  • Dapatkan model data untuk konteks data tertentu.

  • Evaluasi jalur perutean (tentukan URL) untuk tabel tertentu.

Contohnya terdiri dari halaman dan file code-behind-nya.

using System;
using System.Web.DynamicData;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel;

[MetadataType(typeof(ProductMetaData))]
public partial class Product
{
}

public class ProductMetaData
{
}
<%@ Page Language="C#" AutoEventWireup="true" 
CodeFile="PathModel.aspx.cs" 
Inherits="PathModel" %>

<!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 runat="server">
    <title>Path Model</title>
</head>
<body>
    <asp:DynamicDataManager ID="DynamicDataManager1" runat="server"
        AutoLoadForeignKeys="true" />
    
    <h3>GetActionPath</h3>
       
    <form id="form1" runat="server">
        <asp:GridView ID="GridDataSource1" runat="server"
        AutoGenerateColumns="false"
        DataSourceID="LinqDataSource1"
        AllowPaging="true">
        <Columns>
        <asp:TemplateField>
          <ItemTemplate>
            <asp:HyperLink ID="HyperLink1" runat="server" 
            NavigateUrl="<%#EvaluateActionPath()%>">ListDetails</asp:HyperLink>
          </ItemTemplate>
         </asp:TemplateField>
          <asp:DynamicField DataField="FirstName" />
          <asp:DynamicField DataField="LastName" />
        </Columns>
      </asp:GridView>

        <asp:LinqDataSource ID="LinqDataSource1" runat="server" 
        TableName="Customers"
        ContextTypeName="AdventureWorksLTDataContext" >
      </asp:LinqDataSource>
    </form>
</body>

</html>
<%@ Page Language="VB" AutoEventWireup="false" 
CodeFile="PathModel.aspx.vb" 
Inherits="PathModel" %>

<!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>Path Model</title>
</head>
<body>
    <asp:DynamicDataManager ID="DynamicDataManager1" runat="server"
        AutoLoadForeignKeys="true" />
    
    <h3>GetActionPath</h3>
       
    <form id="form1" runat="server">
        <asp:GridView ID="GridDataSource1" runat="server"
        AutoGenerateColumns="false"
        DataSourceID="LinqDataSource1"
        AllowPaging="true">
        <Columns>
        <asp:TemplateField>
          <ItemTemplate>
            <asp:HyperLink ID="HyperLink1" runat="server" 
            NavigateUrl="<%#EvaluateActionPath()%>">ListDetails</asp:HyperLink>
          </ItemTemplate>
         </asp:TemplateField>
          <asp:DynamicField DataField="FirstName" />
          <asp:DynamicField DataField="LastName" />
        </Columns>
      </asp:GridView>

        <asp:LinqDataSource ID="LinqDataSource1" runat="server" 
        TableName="Customers"
        ContextTypeName="AdventureWorksLTDataContext" >
      </asp:LinqDataSource>
    </form>
</body>

</html>
Imports System.Web.DynamicData
Imports System.ComponentModel.DataAnnotations
Imports System.ComponentModel

<MetadataType(GetType(ProductMetaData))> _
Partial Public Class Product

End Class


Public Class ProductMetaData
    
   

End Class
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;

public partial class PathModel : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        DynamicDataManager1.RegisterControl(GridDataSource1);
    }

    // Get the data model. 
    public MetaModel GetModel(bool defaultModel)
    {
        MetaModel model;

        if (defaultModel)
            model = MetaModel.Default;
        else
            model =
               MetaModel.GetModel(typeof(AdventureWorksLTDataContext));
        return model;
    }

    // Get the registered action path.
    public string EvaluateActionPath()
    {
        string tableName = LinqDataSource1.TableName;
        
        MetaModel model = GetModel(false);

        string actionPath =
            model.GetActionPath(tableName,
                System.Web.DynamicData.PageAction.List, GetDataItem());
        return actionPath;
    }
}
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

Partial Public Class PathModel
    Inherits System.Web.UI.Page
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
        DynamicDataManager1.RegisterControl(GridDataSource1)
    End Sub

    ' Get the data model. 
    Public Function GetModel(ByVal defaultModel As Boolean) As MetaModel
        Dim model As MetaModel

        If defaultModel Then
            model = MetaModel.[Default]
        Else
            model = MetaModel.GetModel(GetType(AdventureWorksLTDataContext))
        End If
        Return model
    End Function

    ' Get the registered action path.
    Public Function EvaluateActionPath() As String
        Dim tableName As String = LinqDataSource1.TableName

        Dim model As MetaModel = GetModel(False)

        Dim actionPath As String = model.GetActionPath(tableName, System.Web.DynamicData.PageAction.List, GetDataItem())
        Return actionPath
    End Function
End Class

Untuk mengkompilasi contoh, Anda memerlukan hal berikut:

Lihat contoh kode run-time fitur ini: Jalankan.

Keterangan

Jenis ini MetaModel memungkinkan Anda mendaftarkan satu atau beberapa konteks data untuk aplikasi Web Data Dinamis.

Konteks data adalah objek yang mewakili koneksi database. Konteks data memiliki akses ke satu model data yang mewakili database yang tersedia melalui koneksi tersebut. Model data adalah objek yang mewakili entitas data database sebagai jenis CLR. Data Dinamis mendukung model data berdasarkan LINQ ke SQL dan pada Kerangka Kerja Entitas ADO.NET.

Di Visual Studio, Anda dapat membuat jenis model data dengan menggunakan templat LINQ ke Kelas SQL atau templat Model Data Entitas ADO.NET . Templat ini menggunakan Object Relational Designer (O/R Designer) untuk model LINQ ke SQL, atau ADO.NET Entity Data Model Designer (Entity Designer) untuk model Entity Framework.

Konstruktor

MetaModel()

Membuat instans baru kelas MetaModel .

MetaModel(Boolean)

Membuat instans baru kelas MetaModel .

Properti

Default

Mendapatkan instans pertama dari model data yang dibuat oleh aplikasi.

DynamicDataFolderVirtualPath

Mendapatkan atau mengatur jalur virtual folder DynamicData di situs Web.

EntityTemplateFactory

Mendapatkan atau mengatur EntityTemplateFactory objek yang terkait dengan model.

FieldTemplateFactory

Mendapatkan atau mengatur antarmuka kustom IFieldTemplateFactory .

FilterFactory

Mendapatkan atau mengatur FilterFactory objek yang terkait dengan model.

Tables

Mendapatkan koleksi semua tabel yang merupakan bagian dari model data.

VisibleTables

Mendapatkan kumpulan tabel yang terlihat dalam model data.

Metode

CreateTable(TableProvider)

Membuat instans MetaTable objek.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetActionPath(String, String, Object)

Mengembalikan jalur tindakan yang terkait dengan tabel tertentu.

GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetModel(Type)

Mengembalikan instans model data untuk konteks yang ditentukan.

GetTable(String)

Mengembalikan metadata yang terkait dengan tabel yang ditentukan.

GetTable(String, Type)

Mengembalikan metadata yang menjelaskan tabel yang ditentukan.

GetTable(Type)

Mengembalikan metadata yang menjelaskan tabel yang ditentukan.

GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
RegisterContext(DataModelProvider)

Mendaftarkan instans konteks data dengan menggunakan penyedia model data.

RegisterContext(DataModelProvider, ContextConfiguration)

Mendaftarkan instans konteks data dengan menggunakan konfigurasi konteks yang ditentukan dan dengan mengaktifkan penyedia model data.

RegisterContext(Func<Object>)

Mendaftarkan konteks data yang ditentukan oleh pabrik konteks.

RegisterContext(Func<Object>, ContextConfiguration)

Mendaftarkan instans konteks data dengan menggunakan konfigurasi konteks yang ditentukan dan dengan mengaktifkan konstruktor kustom.

RegisterContext(Type)

Mendaftarkan instans konteks data.

RegisterContext(Type, ContextConfiguration)

Mendaftarkan instans konteks data dengan menggunakan konfigurasi konteks yang ditentukan.

ResetRegistrationException()

Mereset kesalahan pendaftaran konteks sebelumnya yang mungkin telah terjadi.

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)
TryGetTable(String, MetaTable)

Upaya untuk mendapatkan metadata yang terkait dengan tabel yang ditentukan.

TryGetTable(Type, MetaTable)

Upaya untuk mendapatkan metadata yang terkait dengan tabel yang ditentukan.

Berlaku untuk

Lihat juga