Поделиться через


MetadataTypeAttribute Класс

Определение

Указывает, класс метаданных, который необходимо связать с классом модели данных.

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

Примеры

В следующем примере показано, как использовать для связывания MetadataTypeAttribute класса метаданных с разделяемым классом сущности. В примере атрибут применяется RequiredAttribute к полю данных, чтобы показать, как предоставить дополнительные сведения в связанном классе метаданных.

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 позволяет связать класс с разделяемым классом модели данных. В этом связанном классе вы предоставляете дополнительные сведения о метаданных, которые отсутствуют в модели данных.

Например, в связанном классе можно применить RequiredAttribute атрибут к полю данных. Это принудительно указывает значение для поля, даже если это ограничение не требуется для схемы базы данных.

Атрибут используется MetadataTypeAttribute следующим образом:

  • В приложении создайте файл, в котором создается разделяемый класс модели данных, который требуется изменить.

  • Создайте связанный класс метаданных.

  • Примените MetadataTypeAttribute атрибут к классу разделяемой сущности, указав связанный класс.

При применении этого атрибута необходимо соблюдать следующие ограничения использования:

  • Атрибут может применяться только к классу .

  • Атрибут не может наследоваться производными классами.

  • Атрибут можно применить только один раз.

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

MetadataTypeAttribute(Type)

Инициализирует новый экземпляр класса MetadataTypeAttribute.

Свойства

MetadataClassType

Получает класс метаданных, связанный с разделяемым классом модели данных.

TypeId

В случае реализации в производном классе возвращает уникальный идентификатор для этого атрибута Attribute.

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

Методы

Equals(Object)

Возвращает значение, показывающее, равен ли экземпляр указанному объекту.

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

Возвращает хэш-код данного экземпляра.

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

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

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

При переопределении в производном классе указывает, является ли значение этого экземпляра значением по умолчанию для производного класса.

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

При переопределении в производном классе возвращает значение, указывающее, является ли этот экземпляр равным заданному объекту.

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

Создает неполную копию текущего объекта Object.

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

Возвращает строку, представляющую текущий объект.

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

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

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

Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации.

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

Возвращает сведения о типе объекта, которые можно использовать для получения сведений о типе интерфейса.

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

Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1).

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

Предоставляет доступ к открытым свойствам и методам объекта.

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

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