다음을 통해 공유


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>

설명

이 클래스의 인스턴스는 API를 사용할 ModelBuilder 때 메서드에서 반환되며 애플리케이션 코드에서 직접 생성되도록 설계되지 않았습니다.

자세한 내용 과 예제는 엔터티 형식 및 관계 모델링 을 참조하세요.

생성자

PropertyBuilder(IMutableProperty)

이 API는 Entity Framework Core 인프라를 지원하고 공용 API와 동일한 호환성 표준이 적용되지 않는 내부 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)

이 속성을 동시성 토큰으로 사용할지 여부를 구성합니다. 속성이 동시성 토큰으로 구성된 경우 데이터베이스에서 instance 검색된 이후 변경되지 않도록 이 엔터티 형식의 instance 업데이트되거나 삭제 SaveChanges() 될 때 데이터베이스의 값이 검사됩니다. 변경된 경우 예외가 throw되고 변경 내용이 데이터베이스에 적용되지 않습니다.

IsRequired(Boolean)

이 속성에 값이 할당되어 있어야 하는지 아니면 null 유효한 값인지를 구성합니다. 속성은 할당 null할 수 있는 CLR 형식을 기반으로 하는 경우에만 필요하지 않은 것으로 구성할 수 있습니다.

IsRowVersion()

속성을 및 IsConcurrencyToken(Boolean)ValueGeneratedOnAddOrUpdate() 구성합니다.

IsUnicode(Boolean)

속성이 유니코드 문자를 유지할 수 있는지 여부를 구성합니다. 속성에서 String 만 설정할 수 있습니다.

UsePropertyAccessMode(PropertyAccessMode)

PropertyAccessMode 이 속성에 사용할 를 설정합니다.

기본적으로 지원 필드는 규칙에 의해 찾거나 지정된 경우 새 개체가 생성될 때 사용되며, 일반적으로 데이터베이스에서 엔터티를 쿼리할 때 사용됩니다. 속성은 다른 모든 액세스에 사용됩니다. 이 메서드를 호출하면 열거형에 설명된 대로 이 속성의 동작이 PropertyAccessMode 변경됩니다.

이 메서드를 호출하면 엔터티 형식 또는 모델에 설정된 액세스 모드가 이 속성에 대해 재정의됩니다.

UsePropertyAccessMode(PropertyAccessMode)

PropertyAccessMode 이 속성에 사용할 를 설정합니다.

ValueGeneratedNever()

이 엔터티 형식의 instance 저장될 때 데이터베이스에서 생성된 값이 없도록 속성을 구성합니다.

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)
사용되지 않습니다..

SQLite를 대상으로 할 때 속성이 매핑하는 열의 SRID를 구성합니다.

HasSrid(PropertyBuilder, Int32)

SQLite를 대상으로 할 때 속성이 매핑하는 열의 SRID를 구성합니다.

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)
사용되지 않습니다..

SQL Server 대상으로 지정할 때 시퀀스 기반 hi-lo 패턴을 사용하여 새 엔터티에 대한 값을 생성하도록 키 속성을 구성합니다. 이 메서드는 속성을 OnAdd로 설정합니다.

IsSparse(PropertyBuilder, Boolean)

SQL Server 대상으로 지정할 때 속성의 열이 스파스로 만들어지는지 여부를 구성합니다.

UseHiLo(PropertyBuilder, String, String)

SQL Server 대상으로 지정할 때 시퀀스 기반 hi-lo 패턴을 사용하여 새 엔터티에 대한 값을 생성하도록 키 속성을 구성합니다. 이 메서드는 속성을 로 OnAdd설정합니다.

UseIdentityColumn(PropertyBuilder, Int32, Int32)

SQL Server 대상으로 지정할 때 SQL Server IDENTITY 기능을 사용하여 새 엔터티에 대한 값을 생성하도록 키 속성을 구성합니다. 이 메서드는 속성을 로 OnAdd설정합니다.

UseIdentityColumn(PropertyBuilder, Int64, Int32)

SQL Server 대상으로 지정할 때 SQL Server IDENTITY 기능을 사용하여 새 엔터티에 대한 값을 생성하도록 키 속성을 구성합니다. 이 메서드는 속성을 로 OnAdd설정합니다.

UseSequence(PropertyBuilder, String, String)

SQL Server 대상으로 지정할 때 시퀀스 기반 키 값 생성 패턴을 사용하여 새 엔터티에 대한 값을 생성하도록 키 속성을 구성합니다. 이 메서드는 속성을 로 OnAdd설정합니다.

UseSqlServerIdentityColumn(PropertyBuilder)

SQL Server 대상으로 지정할 때 SQL Server IDENTITY 기능을 사용하여 새 엔터티에 대한 값을 생성하도록 키 속성을 구성합니다. 이 메서드는 속성을 로 OnAdd설정합니다.

UseSqlServerIdentityColumn(PropertyBuilder, Int32, Int32)
사용되지 않습니다..

SQL Server 대상으로 지정할 때 SQL Server IDENTITY 기능을 사용하여 새 엔터티에 대한 값을 생성하도록 키 속성을 구성합니다. 이 메서드는 속성을 로 OnAdd설정합니다.

적용 대상