MetaModel Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
ASP.NET Dinamik Veri tarafından kullanılan bir veya birden çok veritabanını temsil eder.
public ref class MetaModel
public class MetaModel
type MetaModel = class
Public Class MetaModel
- Devralma
-
MetaModel
Örnekler
Aşağıdaki örnekte, bir ASP.NET Web sitesinde otomatik iskele kullanmak üzere aşağıdaki görevleri gerçekleştirmek için türün nasıl MetaModel kullanılacağı gösterilmektedir:
Varsayılan veri bağlamı için veri modelini alın.
Belirtilen veri bağlamı için veri modelini alma.
Belirtilen tablo için yönlendirme yolunu değerlendirin (URL'yi belirleyin).
Örnek bir sayfadan ve arka planda kod dosyasından oluşur.
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
Örneği derlemek için aşağıdakiler gerekir:
Visual Studio 2010 veya Visual Web Developer 2010 Express.
Dinamik Veri Web sitesi. Daha fazla bilgi için bkz. İzlenecek Yol: İskele Kullanarak Yeni Dinamik Veri Web Sitesi Oluşturma.
Bu özelliğin çalışma zamanı kodu örneğine bakın: Çalıştır.
Açıklamalar
Türü, MetaModel bir Dinamik Veri Web uygulaması için bir veya birden çok veri bağlamı kaydetmenizi sağlar.
Veri bağlamı, veritabanı bağlantısını temsil eden bir nesnedir. Veri bağlamı, bu bağlantı aracılığıyla kullanılabilen bir veritabanını temsil eden bir veri modeline erişebilir. Veri modeli, CLR türleri olarak veritabanının veri varlıklarını temsil eden bir nesnedir. Dinamik Veriler, LINQ to SQL ve ADO.NET Entity Framework tabanlı veri modellerini destekler.
Visual Studio'da LINQ to SQL Sınıfları şablonunu veya ADO.NET Varlık Veri Modeli şablonunu kullanarak veri modeli türleri oluşturabilirsiniz. Bu şablonlar LINQ to SQL modeli için Nesne İlişkisel Tasarımcısı'nı (O/R Tasarımcısı) veya Entity Framework modeli için ADO.NET Varlık Veri Modeli Tasarımcısı'nı (Varlık Tasarımcısı) kullanır.
Oluşturucular
MetaModel() |
MetaModel sınıfının yeni bir örneğini başlatır. |
MetaModel(Boolean) |
MetaModel sınıfının yeni bir örneğini başlatır. |
Özellikler
Default |
Uygulama tarafından oluşturulan bir veri modelinin ilk örneğini alır. |
DynamicDataFolderVirtualPath |
Web sitesindeki DynamicData klasörünün sanal yolunu alır veya ayarlar. |
EntityTemplateFactory |
Modelle ilişkili nesneyi alır veya ayarlar EntityTemplateFactory . |
FieldTemplateFactory |
Özel IFieldTemplateFactory bir arabirim alır veya ayarlar. |
FilterFactory |
Modelle ilişkili nesneyi alır veya ayarlar FilterFactory . |
Tables |
Veri modelinin parçası olan tüm tabloların koleksiyonunu alır. |
VisibleTables |
Veri modelindeki görünür tabloların koleksiyonunu alır. |
Yöntemler
CreateTable(TableProvider) |
Bir MetaTable nesnenin örneğini oluşturur. |
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
GetActionPath(String, String, Object) |
Belirli bir tabloyla ilişkili eylem yolunu döndürür. |
GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetModel(Type) |
Belirtilen bağlam için veri modeli örneğini döndürür. |
GetTable(String) |
Belirtilen tabloyla ilişkili meta verileri döndürür. |
GetTable(String, Type) |
Belirtilen tabloyu açıklayan meta verileri döndürür. |
GetTable(Type) |
Belirtilen tabloyu açıklayan meta verileri döndürür. |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
RegisterContext(DataModelProvider) |
Veri modeli sağlayıcısı kullanarak veri bağlamı örneğini kaydeder. |
RegisterContext(DataModelProvider, ContextConfiguration) |
Belirtilen bağlam yapılandırmasını kullanarak ve bir veri modeli sağlayıcısını etkinleştirerek bir veri bağlamı örneğini kaydeder. |
RegisterContext(Func<Object>) |
Bağlam fabrikası tarafından belirtilen veri bağlamını kaydeder. |
RegisterContext(Func<Object>, ContextConfiguration) |
Belirtilen bağlam yapılandırmasını kullanarak ve özel bir oluşturucuyu etkinleştirerek bir veri bağlamı örneğini kaydeder. |
RegisterContext(Type) |
Veri bağlamı örneğini kaydeder. |
RegisterContext(Type, ContextConfiguration) |
Belirtilen bağlam yapılandırmasını kullanarak veri bağlamı örneğini kaydeder. |
ResetRegistrationException() |
Daha önce oluşmuş olabilecek bağlam kaydı hatalarını sıfırlar. |
ToString() |
Geçerli nesneyi temsil eden dizeyi döndürür. (Devralındığı yer: Object) |
TryGetTable(String, MetaTable) |
Belirtilen tabloyla ilişkili meta verileri almaya çalışır. |
TryGetTable(Type, MetaTable) |
Belirtilen tabloyla ilişkili meta verileri almaya çalışır. |