QueryTypeBuilder Класс

Определение

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

Экземпляры этого класса возвращаются из методов при использовании ModelBuilder API и не предназначены для непосредственного создания в коде приложения.

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

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

QueryTypeBuilder(InternalEntityTypeBuilder)

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

Свойства

Metadata

Тип настраиваемого запроса.

Методы

HasAnnotation(String, Object)

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

HasBaseType(String)

Задает базовый тип этого типа запроса в иерархии наследования.

HasBaseType(Type)

Задает базовый тип этого типа запроса в иерархии наследования.

HasOne(String, String)

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

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

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

HasOne(Type, String)

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

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

HasQueryFilter(LambdaExpression)

Задает выражение предиката LINQ, которое будет автоматически применяться ко всем запросам, предназначенным для этого типа запроса.

Ignore(String)

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

Property(String)

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

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

Property(Type, String)

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

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

Property<TProperty>(String)

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

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

UsePropertyAccessMode(PropertyAccessMode)

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

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

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

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

IInfrastructure<IMutableModel>.Instance

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

IInfrastructure<InternalEntityTypeBuilder>.Instance

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

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

GetInfrastructure<T>(IInfrastructure<T>)

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

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

HasDiscriminator(QueryTypeBuilder)

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

HasDiscriminator(QueryTypeBuilder, String, Type)

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

HasDiscriminator<TDiscriminator>(QueryTypeBuilder, String)

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

ToView(QueryTypeBuilder, String)

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

ToView(QueryTypeBuilder, String, String)

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

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