ModelBuilder 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
엔터티의 모양, 엔터티 간의 관계 및 데이터베이스에 매핑하는 방법을 정의하는 을 구성 IMutableModel 하기 위한 간단한 API 표면을 제공합니다.
public class ModelBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalModelBuilder>
public class ModelBuilder : Microsoft.EntityFrameworkCore.Infrastructure.IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Builders.IConventionModelBuilder>
type ModelBuilder = class
interface IInfrastructure<InternalModelBuilder>
type ModelBuilder = class
interface IInfrastructure<IConventionModelBuilder>
Public Class ModelBuilder
Implements IInfrastructure(Of InternalModelBuilder)
Public Class ModelBuilder
Implements IInfrastructure(Of IConventionModelBuilder)
- 상속
-
ModelBuilder
- 구현
-
IInfrastructure<Microsoft.EntityFrameworkCore.Metadata.Internal.InternalModelBuilder> IInfrastructure<IConventionModelBuilder>
설명
를 사용하여 ModelBuilder 파생 컨텍스트에서 재정의하여 OnModelCreating(ModelBuilder) 컨텍스트에 대한 모델을 생성할 수 있습니다. 또는 외부에서 모델을 만들고 컨텍스트 생성자에 전달되는 instance 설정할 DbContextOptions 수 있습니다.
자세한 내용 과 예제는 EF Core에서 엔터티 형식 및 관계 모델링 을 참조하세요.
생성자
ModelBuilder() |
규칙 없이 클래스의 ModelBuilder 새 instance 초기화합니다. 경고: 올바른 모델을 빌드하려면 규칙이 필요합니다. |
ModelBuilder(ConventionSet) |
규칙 집합을 적용할 클래스의 ModelBuilder 새 instance 초기화합니다. |
ModelBuilder(ConventionSet, ModelDependencies) |
규칙 집합을 적용할 클래스의 ModelBuilder 새 instance 초기화합니다. |
ModelBuilder(ConventionSet, ModelDependencies, ModelConfiguration) |
이 API는 Entity Framework Core 인프라를 지원하며 공용 API와 동일한 호환성 표준이 적용되지 않는 내부 API입니다. 릴리스에서 예고 없이 변경되거나 제거될 수 있습니다. 코드에서 직접 사용해야 하며, 이렇게 하면 새 Entity Framework Core 릴리스로 업데이트할 때 애플리케이션 오류가 발생할 수 있다는 것을 알고 있어야 합니다. |
ModelBuilder(IMutableModel) |
사용되지 않음.
이 API는 Entity Framework Core 인프라를 지원하며 공용 API와 동일한 호환성 표준이 적용되지 않는 내부 API입니다. 릴리스에서 예고 없이 변경되거나 제거될 수 있습니다. 코드에서 직접 사용해야 하며, 이렇게 하면 새 Entity Framework Core 릴리스로 업데이트할 때 애플리케이션 오류가 발생할 수 있다는 것을 알고 있어야 합니다. |
속성
Model |
구성 중인 모델입니다. |
메서드
ApplyConfiguration<TEntity>(IEntityTypeConfiguration<TEntity>) |
instance 정의된 구성을 IEntityTypeConfiguration<TEntity> 적용합니다. |
ApplyConfiguration<TQuery>(IQueryTypeConfiguration<TQuery>) |
사용되지 않음.
instance 정의된 구성을 IQueryTypeConfiguration<TQuery> 적용합니다. |
ApplyConfigurationsFromAssembly(Assembly, Func<Type,Boolean>) |
제공된 어셈블리에 정의된 모든 IEntityTypeConfiguration<TEntity> 인스턴스의 구성을 적용합니다. |
Entity(String) |
모델에서 지정된 엔터티 형식을 구성하는 데 사용할 수 있는 개체를 반환합니다. 제공된 이름의 엔터티 형식이 모델에 아직 포함되지 않은 경우 해당 CLR 형식이 없는 새 엔터티 형식이 모델에 추가됩니다. |
Entity(String, Action<EntityTypeBuilder>) |
모델에서 지정된 엔터티 형식의 구성을 수행합니다. 제공된 이름의 엔터티 형식이 모델에 아직 포함되지 않은 경우 해당 CLR 형식이 없는 새 엔터티 형식이 모델에 추가됩니다. |
Entity(Type) |
모델에서 지정된 엔터티 형식을 구성하는 데 사용할 수 있는 개체를 반환합니다. 엔터티 형식이 모델의 일부가 아닌 경우 모델에 추가됩니다. |
Entity(Type, Action<EntityTypeBuilder>) |
모델에서 지정된 엔터티 형식의 구성을 수행합니다. 엔터티 형식이 모델의 일부가 아닌 경우 모델에 추가됩니다. |
Entity<TEntity>() |
모델에서 지정된 엔터티 형식을 구성하는 데 사용할 수 있는 개체를 반환합니다. 엔터티 형식이 모델의 일부가 아닌 경우 모델에 추가됩니다. |
Entity<TEntity>(Action<EntityTypeBuilder<TEntity>>) |
모델에서 지정된 엔터티 형식의 구성을 수행합니다. 엔터티 형식이 모델의 일부가 아닌 경우 모델에 추가됩니다. |
FinalizeModel() |
런타임에서 사용할 준비가 되도록 모델에서 사후 처리를 강제합니다. 이 사후 처리는 를 사용할 OnModelCreating(ModelBuilder)때 자동으로 발생합니다. 이 메서드를 사용하면 자동 실행이 불가능한 경우 명시적으로 실행할 수 있습니다. |
HasAnnotation(String, Object) |
모델에 주석을 추가하거나 업데이트합니다. 에 지정된 |
HasChangeTrackingStrategy(ChangeTrackingStrategy) |
이 모델에 사용할 기본값 ChangeTrackingStrategy 을 구성합니다. 이 전략은 컨텍스트가 엔터티 형식의 instance 속성에 대한 변경 내용을 검색하는 방법을 나타냅니다. |
HasChangeTrackingStrategy(ChangeTrackingStrategy) |
이 모델에 사용할 기본값 ChangeTrackingStrategy 을 구성합니다. 이 전략은 컨텍스트가 엔터티 형식의 instance 속성에 대한 변경 내용을 검색하는 방법을 나타냅니다. |
Ignore(String) |
모델에서 지정된 이름의 엔터티 형식을 제외합니다. 이 메서드는 일반적으로 규칙에 의해 추가된 모델에서 형식을 제거하는 데 사용됩니다. |
Ignore(Type) |
모델에서 지정된 CLR 형식이 있는 엔터티 형식을 제외합니다. 이 메서드는 일반적으로 규칙에 의해 추가된 모델에서 형식을 제거하는 데 사용됩니다. |
Ignore<TEntity>() |
모델에서 지정된 엔터티 형식을 제외합니다. 이 메서드는 일반적으로 규칙에 의해 추가된 모델에서 형식을 제거하는 데 사용됩니다. |
Owned(Type) |
엔터티 형식을 소유로 표시합니다. 이 형식에 대한 모든 참조는 별도의 소유 형식 인스턴스로 구성됩니다. |
Owned<T>() |
엔터티 형식을 소유로 표시합니다. 이 형식에 대한 모든 참조는 별도의 소유 형식 인스턴스로 구성됩니다. |
Query(Type) |
사용되지 않음.
모델에서 지정된 쿼리 형식을 구성하는 데 사용할 수 있는 개체를 반환합니다. 쿼리 형식이 모델의 일부가 아닌 경우 모델에 추가됩니다. |
Query(Type, Action<EntityTypeBuilder>) |
사용되지 않음.
모델에서 지정된 쿼리 형식의 구성을 수행합니다. 쿼리 형식이 모델의 일부가 아닌 경우 모델에 추가됩니다. 이 오버로드를 사용하면 에 대한 호출 후 연결되지 않고 메서드 호출에서 쿼리 형식의 구성을 한 줄로 수행할 수 있습니다 Query<TQuery>(). 이렇게 하면 모델 수준의 추가 구성이 쿼리 형식에 대한 구성 후에 연결될 수 있습니다. |
Query(Type, Action<QueryTypeBuilder>) |
모델에서 지정된 쿼리 형식의 구성을 수행합니다. 쿼리 형식이 모델의 일부가 아닌 경우 모델에 추가됩니다. 이 오버로드를 사용하면 에 대한 호출 후 연결되지 않고 메서드 호출에서 쿼리 형식의 구성을 한 줄로 수행할 수 있습니다 Query<TQuery>(). 이렇게 하면 모델 수준의 추가 구성이 쿼리 형식에 대한 구성 후에 연결될 수 있습니다. |
Query<TQuery>() |
사용되지 않음.
모델에서 지정된 쿼리 형식을 구성하는 데 사용할 수 있는 개체를 반환합니다. 쿼리 형식이 모델의 일부가 아닌 경우 모델에 추가됩니다. |
Query<TQuery>(Action<QueryTypeBuilder<TQuery>>) |
사용되지 않음.
모델에서 지정된 쿼리 형식의 구성을 수행합니다. 쿼리 형식이 모델의 일부가 아닌 경우 모델에 추가됩니다. 이 오버로드를 사용하면 에 대한 호출 후 연결되지 않고 메서드 호출에서 쿼리 형식의 구성을 한 줄로 수행할 수 있습니다 Query<TQuery>(). 이렇게 하면 모델 수준의 추가 구성이 쿼리 형식에 대한 구성 후에 연결될 수 있습니다. |
SharedTypeEntity(String, Type) |
모델에서 지정된 공유 형식 엔터티 형식을 구성하는 데 사용할 수 있는 개체를 반환합니다. |
SharedTypeEntity(String, Type, Action<EntityTypeBuilder>) |
모델에서 지정된 공유 형식 엔터티 형식을 구성하는 데 사용할 수 있는 개체를 반환합니다. |
SharedTypeEntity<TEntity>(String) |
모델에서 지정된 공유 형식 엔터티 형식을 구성하는 데 사용할 수 있는 개체를 반환합니다. |
SharedTypeEntity<TEntity>(String, Action<EntityTypeBuilder<TEntity>>) |
모델에서 지정된 공유 형식 엔터티 형식을 구성하는 데 사용할 수 있는 개체를 반환합니다. |
UsePropertyAccessMode(PropertyAccessMode) |
PropertyAccessMode 이 엔터티 형식의 모든 속성에 사용할 를 설정합니다. 기본적으로 백업 필드는 규칙에 따라 찾거나 지정된 경우 새 개체가 생성될 때 사용되며, 일반적으로 데이터베이스에서 엔터티를 쿼리할 때 사용됩니다. 속성은 다른 모든 액세스에 사용됩니다. 이 메서드를 호출하면 열거형에 설명된 대로 모델의 모든 속성에 대한 동작이 PropertyAccessMode 변경됩니다. |
UsePropertyAccessMode(PropertyAccessMode) |
PropertyAccessMode 이 엔터티 형식의 모든 속성에 사용할 를 설정합니다. |
명시적 인터페이스 구현
IInfrastructure<IConventionModelBuilder>.Instance |
이 모델을 구성하는 데 사용되는 내부 ModelBuilder 입니다. |
IInfrastructure<InternalModelBuilder>.Instance |
이 모델을 구성하는 데 사용되는 내부 ModelBuilder 입니다. 이 속성은 확장 메서드에서 모델을 구성하는 데 사용하기 위한 것입니다. 애플리케이션 코드에서 사용할 수 없습니다. |
확장 메서드
적용 대상
Entity Framework