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


CollectionOwnershipBuilder Класс

Определение

Предоставляет простой API для настройки владения "один ко многим".

public class CollectionOwnershipBuilder : Microsoft.EntityFrameworkCore.Metadata.Builders.ReferenceCollectionBuilderBase, Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalEntityTypeBuilder>
type CollectionOwnershipBuilder = class
    inherit ReferenceCollectionBuilderBase
    interface IInfrastructure<InternalEntityTypeBuilder>
Public Class CollectionOwnershipBuilder
Inherits ReferenceCollectionBuilderBase
Implements IInfrastructure(Of InternalEntityTypeBuilder)
Наследование
CollectionOwnershipBuilder
Производный
Реализации
IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalEntityTypeBuilder>

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

CollectionOwnershipBuilder(EntityType, EntityType, InternalRelationshipBuilder)

Этот API поддерживает инфраструктуру Entity Framework Core и не предназначен для использования непосредственно из кода. В будущих выпусках этот API может быть изменен или удален.

CollectionOwnershipBuilder(InternalRelationshipBuilder, CollectionOwnershipBuilder, Boolean, Boolean, Boolean)

Этот API поддерживает инфраструктуру Entity Framework Core и не предназначен для использования непосредственно из кода. В будущих выпусках этот API может быть изменен или удален.

Свойства

Builder

Этот API поддерживает инфраструктуру Entity Framework Core и не предназначен для использования непосредственно из кода. В будущих выпусках этот API может быть изменен или удален.

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

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

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

Внешний ключ, представляющий эту связь.

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

Настраиваемый тип собственной сущности.

PrincipalEntityType

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

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

Методы

FindRelatedEntityType(String, String)

Этот API поддерживает инфраструктуру Entity Framework Core и не предназначен для использования непосредственно из кода. В будущих выпусках этот API может быть изменен или удален.

FindRelatedEntityType(Type, String)

Этот API поддерживает инфраструктуру Entity Framework Core и не предназначен для использования непосредственно из кода. В будущих выпусках этот API может быть изменен или удален.

HasChangeTrackingStrategy(ChangeTrackingStrategy)

Настраивает для ChangeTrackingStrategy использования для этого типа сущности. Эта стратегия показывает, как контекст обнаруживает изменения свойств экземпляра типа сущности.

HasData(Object[])

Настраивает эту сущность для получения начальных данных. Он используется для создания миграции перемещения данных.

HasEntityTypeAnnotation(String, Object)

Добавляет или обновляет заметку для типа принадлежащих сущностей. Если заметка с ключом, указанным в , annotation уже существует, ее значение будет обновлено.

HasForeignKey(String[])

Настраивает свойства для использования в качестве внешнего ключа для этой связи.

Если указанные имена свойств не существуют в типе сущности, будут добавлены новые свойства теневого состояния для использования в качестве внешнего ключа. Свойство теневого состояния — это свойство, которое не имеет соответствующего свойства в классе сущностей. Текущее значение свойства хранится в , ChangeTracker а не в экземплярах класса сущностей.

Если HasPrincipalKey(String[]) параметр не указан, будет предпринята попытка сопоставить тип данных и порядок свойств внешнего ключа с первичным ключом типа основной сущности. Если они не совпадают, новые свойства теневого состояния, образующие уникальный индекс, будут добавлены в тип сущности субъекта для использования в качестве ссылочного ключа.

HasForeignKeyAnnotation(String, Object)

Добавляет или обновляет заметку во внешнем ключе. Если заметка с ключом, указанным в , annotation уже существует, ее значение будет обновлено.

HasIndex(String[])

Настраивает индекс для указанных свойств. Если для заданного набора свойств имеется индекс, для конфигурации будет возвращен существующий индекс.

HasKey(String[])

Задает свойства, составляющие первичный ключ для данного типа сущности.

HasOne(String, String)

Настраивает связь, в которой этот тип сущности имеет ссылку, указывающую на один экземпляр другого типа в связи.

Обратите внимание, что вызов этого метода без параметров явным образом настроит эту сторону связи на использование свойства навигации, даже если такое свойство существует в типе сущности. Если необходимо использовать свойство навигации, его необходимо указать.

После вызова этого метода необходимо связать вызов или WithMany(String)WithOne(String) , чтобы полностью настроить связь. Вызов только этого метода без вызова цепочки не приведет к получению допустимой связи.

HasOne(Type, String)

Настраивает связь, в которой этот тип сущности имеет ссылку, указывающую на один экземпляр другого типа в связи.

Обратите внимание, что вызов этого метода без параметров явным образом настроит эту сторону связи на использование свойства навигации, даже если такое свойство существует в типе сущности. Если необходимо использовать свойство навигации, его необходимо указать.

После вызова этого метода необходимо связать вызов или WithMany(String)WithOne(String) , чтобы полностью настроить связь. Вызов только этого метода без вызова цепочки не приведет к получению допустимой связи.

HasPrincipalKey(String[])

Настраивает уникальные свойства, предназначенные для этой связи. Обычно этот метод вызывается только в том случае, если в качестве основных свойств требуется использовать свойства, отличные от первичного ключа. Если указанные свойства еще не являются уникальным ограничением (или первичным ключом), будет введено новое ограничение уникальности.

Ignore(String)

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

OnDelete(DeleteBehavior)

Настраивает применение операции удаления к зависимым сущностям в связи при удалении субъекта или разрыва связи.

OwnsMany(String, String)

Настраивает связь, в которой целевая сущность принадлежит (или является частью) этой сущности.

Целевой тип сущности для каждого отношения владения рассматривается как другой тип сущности, даже если навигация имеет один и тот же тип. Конфигурация целевого типа сущности не применяется к типу целевой сущности других отношений владения.

Для большинства операций с принадлежащей сущностью требуется доступ к ней через сущность владельца с помощью соответствующей навигации.

OwnsMany(String, String, Action<CollectionOwnershipBuilder>)

Настраивает связь, в которой этот тип сущности предоставляет удостоверение другому типу в связи.

OwnsMany(Type, String)

Настраивает связь, в которой целевая сущность принадлежит (или является частью) этой сущности.

Целевой тип сущности для каждого отношения владения рассматривается как другой тип сущности, даже если навигация имеет один и тот же тип. Конфигурация целевого типа сущности не применяется к типу целевой сущности других отношений владения.

Для большинства операций с принадлежащей сущностью требуется доступ к ней через сущность владельца с помощью соответствующей навигации.

OwnsMany(Type, String, Action<CollectionOwnershipBuilder>)

Настраивает связь, в которой этот тип сущности предоставляет удостоверение другому типу в связи.

OwnsOne(String, String)

Настраивает связь, в которой целевая сущность принадлежит (или является частью) этой сущности. Значение ключа целевой сущности всегда распространяется из сущности, к которой оно принадлежит.

Целевой тип сущности для каждого отношения владения рассматривается как другой тип сущности, даже если навигация имеет один и тот же тип. Конфигурация целевого типа сущности не применяется к типу целевой сущности других отношений владения.

Для большинства операций с принадлежащей сущностью требуется доступ к ней через сущность владельца с помощью соответствующей навигации.

OwnsOne(String, String, Action<ReferenceOwnershipBuilder>)

Настраивает связь, в которой целевая сущность принадлежит (или является частью) этой сущности. Значение ключа целевой сущности всегда распространяется из сущности, к которой оно принадлежит.

Целевой тип сущности для каждого отношения владения рассматривается как другой тип сущности, даже если навигация имеет один и тот же тип. Конфигурация целевого типа сущности не применяется к типу целевой сущности других отношений владения.

Для большинства операций с принадлежащей сущностью требуется доступ к ней через сущность владельца с помощью соответствующей навигации.

OwnsOne(Type, String)

Настраивает связь, в которой целевая сущность принадлежит (или является частью) этой сущности. Значение ключа целевой сущности всегда распространяется из сущности, к которой оно принадлежит.

Целевой тип сущности для каждого отношения владения рассматривается как другой тип сущности, даже если навигация имеет один и тот же тип. Конфигурация целевого типа сущности не применяется к типу целевой сущности других отношений владения.

Для большинства операций с принадлежащей сущностью требуется доступ к ней через сущность владельца с помощью соответствующей навигации.

OwnsOne(Type, String, Action<ReferenceOwnershipBuilder>)

Настраивает связь, в которой целевая сущность принадлежит (или является частью) этой сущности. Значение ключа целевой сущности всегда распространяется из сущности, к которой оно принадлежит.

Целевой тип сущности для каждого отношения владения рассматривается как другой тип сущности, даже если навигация имеет один и тот же тип. Конфигурация целевого типа сущности не применяется к типу целевой сущности других отношений владения.

Для большинства операций с принадлежащей сущностью требуется доступ к ней через сущность владельца с помощью соответствующей навигации.

Property(String)

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

При добавлении нового свойства с этой перегрузкой имя свойства должно соответствовать имени свойства или поля среды CLR в типе сущности. Эту перегрузку нельзя использовать для добавления нового свойства теневого состояния.

Property(Type, String)

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

При добавлении нового свойства, если свойство с таким же именем существует в классе сущностей, оно будет добавлено в модель. Если свойство не существует в классе сущности, будет добавлено новое свойство теневого состояния. Свойство теневого состояния — это свойство, которое не имеет соответствующего свойства в классе сущностей. Текущее значение свойства хранится в , ChangeTracker а не в экземплярах класса сущностей.

Property<TProperty>(String)

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

При добавлении нового свойства, если свойство с таким же именем существует в классе сущностей, оно будет добавлено в модель. Если свойство не существует в классе сущности, будет добавлено новое свойство теневого состояния. Свойство теневого состояния — это свойство, которое не имеет соответствующего свойства в классе сущностей. Текущее значение свойства хранится в , ChangeTracker а не в экземплярах класса сущностей.

UsePropertyAccessMode(PropertyAccessMode)

Задает для PropertyAccessMode использования для всех свойств этого типа сущности.

По умолчанию резервное поле, если оно найдено по соглашению или указано, используется при создании новых объектов, как правило, при запросе сущностей из базы данных. Свойства используются для всех других обращений. Вызов этого метода изменит это поведение для всех свойств этого типа сущности, как описано в перечислении PropertyAccessMode .

Вызов этого метода переопределяет для всех свойств этого типа сущности любой режим доступа, заданный в модели.

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

IInfrastructure<IMutableModel>.Instance

Модель, к которой принадлежит эта связь.

(Унаследовано от ReferenceCollectionBuilderBase)
IInfrastructure<InternalEntityTypeBuilder>.Instance

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

IInfrastructure<InternalRelationshipBuilder>.Instance

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

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

Методы расширения

GetInfrastructure<T>(IInfrastructure<T>)

Возвращает значение из свойства, скрытого с помощью IInfrastructure<T>.

Этот метод обычно используется поставщиками баз данных (и другими расширениями). Как правило, он не используется в коде приложения.

HasConstraintName(CollectionOwnershipBuilder, String)

Настраивает имя ограничения внешнего ключа для этой связи при нацеливание на реляционную базу данных.

ToTable(CollectionOwnershipBuilder, String)

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

ToTable(CollectionOwnershipBuilder, String, String)

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

ForSqlServerIsMemoryOptimized(CollectionOwnershipBuilder, Boolean)

Настраивает таблицу, с которым сопоставляется сущность при нацеливание на SQL Server как оптимизированную для памяти.

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