MetadataTypeAttribute Classe

Definizione

Specifica la classe di metadati da associare a una classe del modello di dati.

public ref class MetadataTypeAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=false, Inherited=false)]
public sealed class MetadataTypeAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=false)]
public sealed class MetadataTypeAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=false, Inherited=false)>]
type MetadataTypeAttribute = class
    inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=false)>]
type MetadataTypeAttribute = class
    inherit Attribute
Public NotInheritable Class MetadataTypeAttribute
Inherits Attribute
Ereditarietà
MetadataTypeAttribute
Attributi

Esempio

Nell'esempio seguente viene illustrato come usare MetadataTypeAttribute per associare una classe di metadati a una classe parziale di entità. L'esempio applica l'attributo RequiredAttribute a un campo dati per mostrare come fornire informazioni aggiuntive nella classe di metadati associata.

using System;
using System.Web.DynamicData;
using System.ComponentModel.DataAnnotations;

[MetadataType(typeof(CustomerMetaData))]
public partial class Customer
{
}


public class CustomerMetaData
{
    // Apply RequiredAttribute
    [Required(ErrorMessage = "Title is required.")]
    public object Title;
}
Imports System.Web.DynamicData
Imports System.ComponentModel.DataAnnotations

<MetadataType(GetType(CustomerMetadata))> _
Partial Public Class Customer

End Class

Public Class CustomerMetadata

    ' Apply RequitedAttribute.
    <Required(ErrorMessage:="Title is required.")> _
    Public Title As Object

   
End Class

Commenti

L'attributo MetadataTypeAttribute consente di associare una classe a una classe parziale del modello di dati. In questa classe associata vengono fornite informazioni aggiuntive sui metadati che non si trovano nel modello di dati.

Ad esempio, nella classe associata è possibile applicare l'attributo RequiredAttribute a un campo dati. In questo modo viene applicato che per il campo viene fornito un valore anche se questo vincolo non è richiesto dallo schema del database.

Usare l'attributo MetadataTypeAttribute come indicato di seguito:

  • Nell'applicazione creare un file in cui si crea la classe parziale del modello di dati da modificare.

  • Creare la classe di metadati associata.

  • Applicare l'attributo MetadataTypeAttribute alla classe di entità parziale, specificando la classe associata.

Quando si applica questo attributo, è necessario rispettare i vincoli di utilizzo seguenti:

  • L'attributo può essere applicato solo a una classe.

  • L'attributo non può essere ereditato dalle classi derivate.

  • L'attributo può essere applicato una sola volta.

Costruttori

Nome Descrizione
MetadataTypeAttribute(Type)

Inizializza una nuova istanza della classe MetadataTypeAttribute.

Proprietà

Nome Descrizione
MetadataClassType

Ottiene la classe di metadati associata a una classe parziale del modello di dati.

TypeId

Se implementato in una classe derivata, ottiene un identificatore univoco per questo Attribute.

(Ereditato da Attribute)

Metodi

Nome Descrizione
Equals(Object)

Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato.

(Ereditato da Attribute)
GetHashCode()

Restituisce il codice hash per questa istanza.

(Ereditato da Attribute)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
IsDefaultAttribute()

Quando sottoposto a override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata.

(Ereditato da Attribute)
Match(Object)

Quando sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza è uguale a un oggetto specificato.

(Ereditato da Attribute)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

Nome Descrizione
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Esegue il mapping di un set di nomi a un set corrispondente di identificatori dispatch.

(Ereditato da Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera le informazioni sul tipo per un oggetto, che può essere utilizzato per ottenere le informazioni sul tipo per un'interfaccia.

(Ereditato da Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Recupera il numero di interfacce di informazioni sul tipo fornite da un oggetto (0 o 1).

(Ereditato da Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornisce l'accesso alle proprietà e ai metodi esposti da un oggetto .

(Ereditato da Attribute)

Si applica a