MetaModel Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Représente une ou plusieurs bases de données utilisées par Dynamic Data ASP.NET.
public ref class MetaModel
public class MetaModel
type MetaModel = class
Public Class MetaModel
- Héritage
-
MetaModel
Exemples
L’exemple suivant montre comment utiliser MetaModel le type pour effectuer les tâches suivantes afin d’utiliser une structure automatique dans un site Web ASP.NET :
Obtenez le modèle de données pour le contexte de données par défaut.
Obtenez le modèle de données pour un contexte de données spécifié.
Évaluez le chemin d’acheminement (déterminez l’URL) d’une table spécifiée.
L’exemple se compose d’une page et de son fichier code-behind.
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
Pour compiler l’exemple, vous avez besoin des éléments suivants :
Visual Studio 2010 ou Visual Web Developer 2010 Express.
Site web de données dynamiques. Pour plus d’informations, consultez Procédure pas à pas : création d’un site web de données dynamiques à l’aide de la structure.
Consultez un exemple de code d’exécution de cette fonctionnalité : Exécuter.
Remarques
Le MetaModel type vous permet d’inscrire un ou plusieurs contextes de données pour une application web de données dynamiques.
Un contexte de données est un objet qui représente une connexion de base de données. Un contexte de données a accès à un modèle de données qui représente une base de données disponible via cette connexion. Un modèle de données est un objet qui représente les entités de données d’une base de données en tant que types CLR. Dynamic Data prend en charge les modèles de données basés sur LINQ to SQL et sur le ADO.NET Entity Framework.
Dans Visual Studio, vous pouvez générer des types de modèle de données à l’aide du modèle LINQ to SQL Classes ou du modèle de données d’entité ADO.NET . Ces modèles utilisent le Concepteur relationnel d’objets (Concepteur O/R) pour le modèle LINQ to SQL ou le concepteur de modèle de données d’entité ADO.NET (Concepteur d’entités) pour le modèle Entity Framework.
Constructeurs
MetaModel() |
Instancie une nouvelle instance de la classe MetaModel. |
MetaModel(Boolean) |
Instancie une nouvelle instance de la classe MetaModel. |
Propriétés
Default |
Obtient la première instance d'un modèle de données créé par l'application. |
DynamicDataFolderVirtualPath |
Obtient ou définit le chemin d'accès virtuel du dossier DynamicData dans le site Web. |
EntityTemplateFactory |
Obtient ou définit l'objet EntityTemplateFactory associé au modèle. |
FieldTemplateFactory |
Obtient ou définit une interface IFieldTemplateFactory personnalisée. |
FilterFactory |
Obtient ou définit l'objet FilterFactory associé au modèle. |
Tables |
Obtient une collection de toutes les tables qui font partie du modèle de données. |
VisibleTables |
Obtient une collection des tables visibles dans le modèle de données. |
Méthodes
CreateTable(TableProvider) |
Instancie un objet MetaTable. |
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
GetActionPath(String, String, Object) |
Retourne le chemin d'accès de l'action associé à une table spécifique. |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetModel(Type) |
Retourne l'instance de modèle de données pour le contexte spécifié. |
GetTable(String) |
Retourne les métadonnées associées à la table spécifiée. |
GetTable(String, Type) |
Retourne les métadonnées qui décrivent la table spécifiée. |
GetTable(Type) |
Retourne les métadonnées qui décrivent la table spécifiée. |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
RegisterContext(DataModelProvider) |
Inscrit une instance du contexte de données à l’aide d’un fournisseur de modèles de données. |
RegisterContext(DataModelProvider, ContextConfiguration) |
Enregistre une instance de contexte de données à l'aide de la configuration de contexte spécifié et en activant un fournisseur de modèle de données. |
RegisterContext(Func<Object>) |
Enregistre le contexte de données spécifié par une fabrique de contextes. |
RegisterContext(Func<Object>, ContextConfiguration) |
Enregistre une instance de contexte de données à l'aide de la configuration de contexte spécifié et en activant un constructeur personnalisé. |
RegisterContext(Type) |
Enregistre une instance de contexte de données. |
RegisterContext(Type, ContextConfiguration) |
Enregistre une instance de contexte de données à l'aide de la configuration de contexte spécifiée. |
ResetRegistrationException() |
Réinitialise une erreur d'inscription du contexte qui s'est produite précédemment. |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |
TryGetTable(String, MetaTable) |
Tente d'obtenir les métadonnées associées à la table spécifiée. |
TryGetTable(Type, MetaTable) |
Tente d'obtenir les métadonnées associées à la table spécifiée. |