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


PropertyBuilder Класс

Определение

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

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

Комментарии

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

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

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

PropertyBuilder(IMutableProperty)

Это внутренний API, который поддерживает инфраструктуру Entity Framework Core и не подчиняется тем же стандартам совместимости, что и общедоступные API. Он может быть изменен или удален без уведомления в любом выпуске. Его следует использовать только непосредственно в коде с особой осторожностью, зная, что это может привести к сбоям приложений при обновлении до нового выпуска Entity Framework Core.

PropertyBuilder(InternalPropertyBuilder)

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

Свойства

Metadata

Настраиваемое свойство.

Методы

HasAnnotation(String, Object)

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

HasConversion(Type)

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

HasConversion(Type, Type)

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

HasConversion(Type, Type, Type)

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

HasConversion(Type, ValueComparer)

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

HasConversion(Type, ValueComparer, ValueComparer)

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

HasConversion(ValueConverter)

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

HasConversion(ValueConverter, ValueComparer)

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

HasConversion(ValueConverter, ValueComparer, ValueComparer)

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

HasConversion<TConversion,TComparer,TProviderComparer>()

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

HasConversion<TConversion,TComparer>()

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

HasConversion<TConversion>()

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

HasConversion<TConversion>(ValueComparer)

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

HasConversion<TConversion>(ValueComparer, ValueComparer)

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

HasField(String)

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

HasMaxLength(Int32)

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

HasPrecision(Int32)

Настраивает точность свойства.

HasPrecision(Int32, Int32)

Настраивает точность и масштаб свойства.

HasSentinel(Object)

Настраивает значение, которое будет использоваться для определения того, задано ли свойство. Если свойству присвоено значение sentinel, оно считается не заданным. По умолчанию значение sentinel является значением clR по умолчанию для типа свойства .

HasValueGenerator(Func<IProperty,IEntityType,ValueGenerator>)

Настраивает фабрику для создания для использования для создания значений ValueGenerator для этого свойства.

HasValueGenerator(Func<IProperty,ITypeBase,ValueGenerator>)

Настраивает фабрику для создания для использования для создания значений ValueGenerator для этого свойства.

HasValueGenerator(Type)

Настраивает объект , ValueGenerator который создаст значения для этого свойства.

HasValueGenerator<TGenerator>()

Настраивает объект , ValueGenerator который создаст значения для этого свойства.

HasValueGeneratorFactory(Type)

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

HasValueGeneratorFactory<TFactory>()

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

IsConcurrencyToken(Boolean)

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

IsRequired(Boolean)

Указывает, должно ли этому свойству быть присвоено значение или null является допустимым значением. Свойство можно настроить как необязательное, только если оно основано на типе СРЕДЫ CLR, который можно назначить null.

IsRowVersion()

Настраивает свойство как ValueGeneratedOnAddOrUpdate() и IsConcurrencyToken(Boolean).

IsUnicode(Boolean)

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

UsePropertyAccessMode(PropertyAccessMode)

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

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

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

UsePropertyAccessMode(PropertyAccessMode)

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

ValueGeneratedNever()

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

ValueGeneratedOnAdd()

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

ValueGeneratedOnAddOrUpdate()

Настраивает свойство для создания значения при сохранении новой или существующей сущности.

ValueGeneratedOnUpdate()

Настраивает свойство для создания значения при сохранении существующей сущности.

ValueGeneratedOnUpdateSometimes()

Настраивает свойство для создания значения при определенных условиях при сохранении существующей сущности.

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

IInfrastructure<IConventionPropertyBuilder>.Instance

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

IInfrastructure<IMutableModel>.Instance

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

IInfrastructure<InternalPropertyBuilder>.Instance

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

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

IsETagConcurrency(PropertyBuilder)

Настраивает это свойство в качестве маркера параллелизма etag.

ToJsonProperty(PropertyBuilder, String)

Настраивает имя свойства, с которым сопоставляется свойство при нацеливание на Azure Cosmos.

GetInfrastructure<T>(IInfrastructure<T>)

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

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

HasColumnName(PropertyBuilder, String)

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

HasColumnOrder(PropertyBuilder, Nullable<Int32>)

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

HasColumnType(PropertyBuilder, String)

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

HasComment(PropertyBuilder, String)

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

HasComputedColumnSql(PropertyBuilder)

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

HasComputedColumnSql(PropertyBuilder, String)

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

HasComputedColumnSql(PropertyBuilder, String, Nullable<Boolean>)

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

HasDefaultValue(PropertyBuilder)

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

HasDefaultValue(PropertyBuilder, Object)

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

HasDefaultValueSql(PropertyBuilder)

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

HasDefaultValueSql(PropertyBuilder, String)

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

HasJsonPropertyName(PropertyBuilder, String)

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

IsFixedLength(PropertyBuilder, Boolean)

Настраивает свойство как способное хранить только данные фиксированной длины, например строки.

UseCollation(PropertyBuilder, String)

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

ForSqliteHasDimension(PropertyBuilder, Ordinates)

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

ForSqliteHasDimension(PropertyBuilder, Ordinates)
Является устаревшей..

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

HasGeometricDimension(PropertyBuilder, Ordinates)

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

ForSqliteHasColumnName(PropertyBuilder, String)

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

ForSqliteHasColumnType(PropertyBuilder, String)

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

ForSqliteHasDefaultValue(PropertyBuilder, Object)

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

ForSqliteHasDefaultValueSql(PropertyBuilder, String)

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

ForSqliteHasSrid(PropertyBuilder, Int32)
Является устаревшей..

Настраивает SRID столбца, с которым сопоставляется свойство при нацеливание на SQLite.

HasSrid(PropertyBuilder, Int32)

Настраивает SRID столбца, с которым сопоставляется свойство при нацеливание на SQLite.

ForSqlServerHasColumnName(PropertyBuilder, String)

Настраивает столбец, которому сопоставляется свойство при нацеливание на SQL Server.

ForSqlServerHasColumnType(PropertyBuilder, String)

Настраивает тип данных столбца, с которым сопоставляется свойство при нацеливание на SQL Server. Это должно быть полное имя типа, включая точность, масштаб, длину и т. д.

ForSqlServerHasComputedColumnSql(PropertyBuilder, String)

Настраивает свойство для сопоставления с вычисляемого столбца при нацеливанием на SQL Server.

ForSqlServerHasDefaultValue(PropertyBuilder, Object)

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

ForSqlServerHasDefaultValueSql(PropertyBuilder, String)

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

ForSqlServerUseSequenceHiLo(PropertyBuilder, String, String)
Является устаревшей..

Настраивает свойство ключа для использования шаблона hi-lo на основе последовательности для создания значений для новых сущностей при нацелии на SQL Server. Этот метод задает для свойства значение OnAdd.

IsSparse(PropertyBuilder, Boolean)

Настраивает, создается ли столбец свойства как разреженный при нацеливание на SQL Server.

UseHiLo(PropertyBuilder, String, String)

Настраивает свойство ключа для использования шаблона hi-lo на основе последовательности для создания значений для новых сущностей при выборе SQL Server. Этот метод задает для свойства значение OnAdd.

UseIdentityColumn(PropertyBuilder, Int32, Int32)

Настраивает свойство ключа для использования функции SQL Server IDENTITY для создания значений для новых сущностей при выборе SQL Server. Этот метод задает для свойства значение OnAdd.

UseIdentityColumn(PropertyBuilder, Int64, Int32)

Настраивает свойство ключа для использования функции SQL Server IDENTITY для создания значений для новых сущностей при выборе SQL Server. Этот метод задает для свойства значение OnAdd.

UseSequence(PropertyBuilder, String, String)

Настраивает свойство ключа для использования шаблона создания значения ключа на основе последовательности для создания значений для новых сущностей при выборе SQL Server. Этот метод задает для свойства значение OnAdd.

UseSqlServerIdentityColumn(PropertyBuilder)

Настраивает свойство ключа для использования функции SQL Server IDENTITY для создания значений для новых сущностей при выборе SQL Server. Этот метод задает для свойства значение OnAdd.

UseSqlServerIdentityColumn(PropertyBuilder, Int32, Int32)
Является устаревшей..

Настраивает свойство ключа для использования функции SQL Server IDENTITY для создания значений для новых сущностей при выборе SQL Server. Этот метод задает для свойства значение OnAdd.

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