MetadataTypeAttribute Класс

Определение

Указывает, класс метаданных, который необходимо связать с классом модели данных.Specifies the metadata class to associate with a data model class.

public ref class MetadataTypeAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=false)]
[System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=false, Inherited=false)]
[System.AttributeUsage]
public sealed class MetadataTypeAttribute : Attribute
type MetadataTypeAttribute = class
    inherit Attribute
Public NotInheritable Class MetadataTypeAttribute
Inherits Attribute
Наследование
MetadataTypeAttribute
Атрибуты

Примеры

В следующем примере показано, как использовать MetadataTypeAttribute, чтобы связать класс метаданных с разделяемым классом сущности.The following example shows how to use the MetadataTypeAttribute to associate a metadata class with an entity partial class. В примере атрибут RequiredAttribute применяется к полю данных, чтобы продемонстрировать, как предоставить дополнительные сведения в связанном классе метаданных.The example applies the RequiredAttribute attribute to a data field to show how to provide additional information in the associated metadata class.

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

Комментарии

Атрибут MetadataTypeAttribute позволяет связать класс с разделяемым классом модели данных.The MetadataTypeAttribute attribute enables you to associate a class with a data-model partial class. В этом связанном классе вы предоставляете дополнительные сведения о метаданных, которые не находятся в модели данных.In this associated class you provide additional metadata information that is not in the data model.

Например, в связанном классе можно применить атрибут RequiredAttribute к полю данных.For example, in the associated class you can apply the RequiredAttribute attribute to a data field. Это гарантирует, что для поля предоставляется значение, даже если это ограничение не требуется для схемы базы данных.This enforces that a value is provided for the field even if this constraint is not required by the database schema.

Используйте атрибут MetadataTypeAttribute следующим образом:You use the MetadataTypeAttribute attribute as follows:

  • В приложении создайте файл, в котором создается разделяемый класс модели данных, который необходимо изменить.In your application, create a file in which you create the data-model partial class that you want to modify.

  • Создайте связанный класс метаданных.Create the associated metadata class.

  • Примените атрибут MetadataTypeAttribute к разделяемому классу сущности, указав связанный класс.Apply the MetadataTypeAttribute attribute to the partial entity class, specifying the associated class.

При применении этого атрибута необходимо соблюдать следующие ограничения использования.When you apply this attribute, you must adhere to the following usage constraints:

  • Атрибут может применяться только к классу.The attribute can only be applied to a class.

  • Атрибут не может наследоваться производными классами.The attribute cannot be inherited by derived classes.

  • Атрибут может применяться только один раз.The attribute can be applied only one time.

Конструкторы

MetadataTypeAttribute(Type)

Инициализирует новый экземпляр класса MetadataTypeAttribute.Initializes a new instance of the MetadataTypeAttribute class.

Свойства

MetadataClassType

Получает класс метаданных, связанный с разделяемым классом модели данных.Gets the metadata class that is associated with a data-model partial class.

TypeId

В случае реализации в производном классе возвращает уникальный идентификатор для этого атрибута Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

(Унаследовано от Attribute)

Методы

Equals(Object)

Возвращает значение, показывающее, равен ли экземпляр указанному объекту.Returns a value that indicates whether this instance is equal to a specified object.

(Унаследовано от Attribute)
GetHashCode()

Возвращает хэш-код данного экземпляра.Returns the hash code for this instance.

(Унаследовано от Attribute)
GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
IsDefaultAttribute()

При переопределении в производном классе указывает, является ли значение этого экземпляра значением по умолчанию для производного класса.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Унаследовано от Attribute)
Match(Object)

При переопределении в производном классе возвращает значение, указывающее, является ли этот экземпляр равным заданному объекту.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Унаследовано от Attribute)
MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Унаследовано от Object)

Явные реализации интерфейса

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

Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации.Maps a set of names to a corresponding set of dispatch identifiers.

(Унаследовано от Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Возвращает сведения о типе объекта, которые можно использовать для получения сведений о типе интерфейса.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Унаследовано от Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Унаследовано от Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Предоставляет доступ к открытым свойствам и методам объекта.Provides access to properties and methods exposed by an object.

(Унаследовано от Attribute)

Применяется к