MetaModel Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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:
Visual Studio 2010 atau Visual Web Developer 2010 Express.
Situs Web Data Dinamis. Untuk informasi selengkapnya, lihat Panduan: Membuat Situs Web Data Dinamis Baru Menggunakan Perancah.
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. |