MetaModel 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
ASP.NET Dynamic Data에서 사용하는 하나 또는 여러 데이터베이스를 나타냅니다.
public ref class MetaModel
public class MetaModel
type MetaModel = class
Public Class MetaModel
- 상속
-
MetaModel
예제
다음 예제에서는 형식을 사용하여 MetaModel ASP.NET 웹 사이트에서 자동 스캐폴딩을 사용하기 위해 다음 작업을 수행하는 방법을 보여 줍니다.
기본 데이터 컨텍스트에 대한 데이터 모델을 가져옵니다.
지정된 데이터 컨텍스트에 대한 데이터 모델을 가져옵니다.
지정된 테이블의 라우팅 경로(URL 결정)를 평가합니다.
이 예제는 페이지와 코드 숨김 파일로 구성됩니다.
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
예제를 컴파일하려면 다음이 필요합니다.
Visual Studio 2010 또는 Visual Web Developer 2010 Express
Dynamic Data 웹 사이트입니다. 자세한 내용은 연습:는 새 동적 데이터 웹 사이트를 사용 하 여 스 캐 폴딩을 만들합니다.
이 기능은 런타임에 코드 예제를 보려면: 실행합니다.
설명
MetaModel Dynamic Data 웹 애플리케이션 하나 또는 여러 데이터 컨텍스트를 등록할 수 있습니다.
데이터 컨텍스트는 데이터베이스 연결을 나타내는 개체입니다. 데이터 컨텍스트는 해당 연결을 통해 사용할 수 있는 데이터베이스를 나타내는 하나의 데이터 모델에 액세스할 수 있습니다. 데이터 모델은 데이터베이스의 데이터 엔터티를 CLR 형식으로 나타내는 개체입니다. 동적 데이터는 LINQ to SQL 및 ADO.NET Entity Framework를 기반으로 하는 데이터 모델을 지원합니다.
Visual Studio에서는 LINQ to SQL 클래스 템플릿 또는 ADO.NET 엔터티 데이터 모델 템플릿을 사용하여 데이터 모델 형식을 생성할 수 있습니다. 이러한 템플릿은 LINQ to SQL 모델에 대해 O/R 디자이너(개체 관계형 디자이너) 또는 Entity Framework 모델에 ADO.NET 엔터티 데이터 모델 디자이너(엔터티 디자이너)를 사용합니다.
생성자
MetaModel() |
MetaModel 클래스의 새 인스턴스를 인스턴스화합니다. |
MetaModel(Boolean) |
MetaModel 클래스의 새 인스턴스를 인스턴스화합니다. |
속성
Default |
애플리케이션에서 만든 데이터 모델의 첫 번째 인스턴스를 가져옵니다. |
DynamicDataFolderVirtualPath |
웹 사이트에 있는 DynamicData 폴더의 가상 경로를 가져오거나 설정합니다. |
EntityTemplateFactory |
모델과 연결된 EntityTemplateFactory 개체를 가져오거나 설정합니다. |
FieldTemplateFactory |
사용자 지정 IFieldTemplateFactory 인터페이스를 가져오거나 설정합니다. |
FilterFactory |
모델과 연결된 FilterFactory 개체를 가져오거나 설정합니다. |
Tables |
데이터 모델의 일부인 모든 테이블의 컬렉션을 가져옵니다. |
VisibleTables |
데이터 모델에서 표시되는 테이블의 컬렉션을 가져옵니다. |
메서드
CreateTable(TableProvider) |
MetaTable 개체를 인스턴스화합니다. |
Equals(Object) |
지정된 개체가 현재 개체와 같은지 확인합니다. (다음에서 상속됨 Object) |
GetActionPath(String, String, Object) |
특정 테이블에 연결된 동작 경로를 반환합니다. |
GetHashCode() |
기본 해시 함수로 작동합니다. (다음에서 상속됨 Object) |
GetModel(Type) |
지정된 컨텍스트에 대한 데이터 모델 인스턴스를 반환합니다. |
GetTable(String) |
지정된 테이블에 연결된 메타데이터를 반환합니다. |
GetTable(String, Type) |
지정된 테이블을 설명하는 메타데이터를 반환합니다. |
GetTable(Type) |
지정된 테이블을 설명하는 메타데이터를 반환합니다. |
GetType() |
현재 인스턴스의 Type을 가져옵니다. (다음에서 상속됨 Object) |
MemberwiseClone() |
현재 Object의 단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
RegisterContext(DataModelProvider) |
데이터 모델 공급자를 사용하여 데이터 컨텍스트 인스턴스를 등록합니다. |
RegisterContext(DataModelProvider, ContextConfiguration) |
지정된 컨텍스트 구성을 사용하고 데이터 모델 공급자를 활성화하여 데이터 컨텍스트 인스턴스를 등록합니다. |
RegisterContext(Func<Object>) |
컨텍스트 팩터리에서 지정하는 데이터 컨텍스트를 등록합니다. |
RegisterContext(Func<Object>, ContextConfiguration) |
지정된 컨텍스트 구성을 사용하고 사용자 지정 생성자를 활성화하여 데이터 컨텍스트 인스턴스를 등록합니다. |
RegisterContext(Type) |
데이터 컨텍스트 인스턴스를 등록합니다. |
RegisterContext(Type, ContextConfiguration) |
지정된 컨텍스트 구성을 사용하여 데이터 컨텍스트 인스턴스를 등록합니다. |
ResetRegistrationException() |
발생했을 수도 있는 모든 이전 컨텍스트 등록 오류를 다시 설정합니다. |
ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |
TryGetTable(String, MetaTable) |
지정된 테이블에 연결된 메타데이터를 가져오려고 합니다. |
TryGetTable(Type, MetaTable) |
지정된 테이블에 연결된 메타데이터를 가져오려고 합니다. |
적용 대상
추가 정보
.NET