Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. |
Übersetzung
Original
|
MetaModel-Klasse
Stellt eine oder mehrere Datenbanken dar, die von ASP.NET Dynamic Data verwendet werden.
Assembly: System.Web.DynamicData (in System.Web.DynamicData.dll)
Der MetaModel-Typ macht die folgenden Member verfügbar.
| Name | Beschreibung | |
|---|---|---|
|
MetaModel() | Instanziiert eine neue Instanz der MetaModel-Klasse. |
|
MetaModel(Boolean) | Instanziiert eine neue Instanz der MetaModel-Klasse. |
| Name | Beschreibung | |
|---|---|---|
|
Default | Ruft die erste Instanz eines Datenmodells ab, die von der Anwendung erstellt wird. |
|
DynamicDataFolderVirtualPath | Ruft den virtuellen Pfad des Ordners DynamicData auf der Website ab oder legt diesen fest. |
|
EntityTemplateFactory | Ruft das EntityTemplateFactory-Objekt ab, das dem Modell zugeordnet ist, oder legt dieses fest. |
|
FieldTemplateFactory | Ruft eine benutzerdefinierte IFieldTemplateFactory-Schnittstelle ab oder legt diese fest. |
|
FilterFactory | Ruft das FilterFactory-Objekt ab, das dem Modell zugeordnet ist, oder legt dieses fest. |
|
Tables | Ruft eine Auflistung aller Tabellen ab, die Teil des Datenmodells sind. |
|
VisibleTables | Ruft eine Auflistung der sichtbaren Tabellen im Datenmodell ab. |
| Name | Beschreibung | |
|---|---|---|
|
CreateTable | Instanziiert ein MetaTable-Objekt. |
|
Equals(Object) | Bestimmt, ob das angegebene Object und das aktuelle Object gleich sind. (Von Object geerbt.) |
|
Finalize | Gibt einem Objekt Gelegenheit zu dem Versuch, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der automatische Speicherbereinigung freigegeben wird. (Von Object geerbt.) |
|
GetActionPath | Gibt den Aktionspfad zurück, der einer bestimmten Tabelle zugeordnet ist. |
|
GetHashCode | Fungiert als Hashfunktion für einen bestimmten Typ. (Von Object geerbt.) |
|
GetModel | Gibt die Datenmodellinstanz für den angegebenen Kontext zurück. |
|
GetTable(String) | Gibt die Metadaten zurück, die der angegebenen Tabelle zugeordnet sind. |
|
GetTable(Type) | Gibt die Metadaten zurück, die die angegebene Tabelle beschreiben. |
|
GetTable(String, Type) | Gibt die Metadaten zurück, die die angegebene Tabelle beschreiben. |
|
GetType | Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.) |
|
MemberwiseClone | Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.) |
|
RegisterContext(DataModelProvider) | Registriert mit einem Datenmodellanbieter eine Datenkontextinstanz. |
|
RegisterContext(Func<Object>) | Registriert den Datenkontext, der von einer Kontextfactory angegeben wird. |
|
RegisterContext(Type) | Registriert eine Datenkontextinstanz. |
|
RegisterContext(DataModelProvider, ContextConfiguration) | Registriert mit der angegebenen Kontextkonfiguration und durch das Aktivieren eines Datenmodellanbieters eine Datenkontextinstanz. |
|
RegisterContext(Func<Object>, ContextConfiguration) | Registriert mit der angegebenen Kontextkonfiguration und durch das Aktivieren eines benutzerdefinierten Konstruktors eine Datenkontextinstanz. |
|
RegisterContext(Type, ContextConfiguration) | Registriert mit der angegebenen Kontextkonfiguration eine Datenkontextinstanz. |
|
ResetRegistrationException | Setzt einen möglicherweise zuvor aufgetretenen Kontextregistrierungsfehler zurück. |
|
ToString | Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.) |
|
TryGetTable(String, MetaTable) | Versucht, die Metadaten abzurufen, die der angegebenen Tabelle zugeordnet sind. |
|
TryGetTable(Type, MetaTable) | Versucht, die Metadaten abzurufen, die der angegebenen Tabelle zugeordnet sind. |
| Ausnahme | Bedingung |
|---|---|
| InvalidOperationException |
Kann von jeder Methode ausgelöst werden, wenn ein Datenkontextregistrierungsfehler aufgetreten ist. |
Mit dem MetaModel-Typ können Sie einen oder mehrere Datenkontexte für eine Dynamic Data-Webanwendung registrieren.
Ein Datenkontext ist ein Objekt, das eine Datenbankverbindung darstellt. Ein Datenkontext verfügt über Zugriff auf ein Datenmodell, das eine Datenbank darstellt, auf die über diese Verbindung zugegriffen werden kann. Ein Datenmodell ist ein Objekt, das die Datenentitäten einer Datenbank als CLR-Typen darstellt. Dynamic Data unterstützt Datenmodelle auf der Grundlage von LINQ to SQL und des ADO.NET Entity Framework.
In Visual Studio 2010 können Sie Datenmodelltypen mit der Vorlage LINQ to SQL-Klassen oder der Vorlage ADO.NET Entity Data Model generieren. Diese Vorlagen verwenden den Object Relational Designer (O/R-Designer) für das LINQ to SQL-Modell bzw. den ADO.NET Entity Data Model-Designer (Entity Designer) für das Entity Framework-Modell.
Das folgende Beispiel veranschaulicht, wie mit dem MetaModel-Typ die folgenden Aufgaben ausgeführt werden, um auf einer ASP.NET-Website automatischen Gerüstbau zu verwenden:
-
Abrufen des Datenmodells für den Standarddatenkontext
-
Abrufen des Datenmodells für einen angegebenen Datenkontext
-
Auswerten des Routingpfads (Bestimmen der URL) für eine angegebene Tabelle
Das Beispiel besteht aus einer Seite und der zugehörigen Code-Behind-Datei.
<%@ 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>
<%@ 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>
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; publicpartialclass PathModel : System.Web.UI.Page { protectedvoid 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.publicstring EvaluateActionPath() { string tableName = LinqDataSource1.TableName; MetaModel model = GetModel(false); string actionPath = model.GetActionPath(tableName, System.Web.DynamicData.PageAction.List, GetDataItem()); return actionPath; } }
Zum Kompilieren des Beispiels benötigen Sie Folgendes:
-
Visual Studio 2010 oder Visual Web Developer 2010 Express
-
Eine Dynamic Data-Website. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Erstellen einer neuen Dynamic Data-Website mithilfe des Gerüstbaus.
Ein Laufzeitcodebeispiel für dieses Feature finden Sie hier: Run.
Windows 7, Windows Vista SP1 oder höher, Windows XP SP3, Windows Server 2008 (Server Core wird nicht unterstützt), Windows Server 2008 R2 (Server Core wird mit SP1 oder höher unterstützt), Windows Server 2003 SP2
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.