Share via


IModel 인터페이스

정의

엔터티의 모양, 엔터티 간의 관계 및 데이터베이스에 매핑하는 방법에 대한 메타데이터입니다. 모델은 일반적으로 파생된 에서 메서드를 재정의 OnModelCreating(ModelBuilder) 하여 생성됩니다 DbContext.

public interface IModel : Microsoft.EntityFrameworkCore.Infrastructure.IAnnotatable
public interface IModel : Microsoft.EntityFrameworkCore.Infrastructure.IAnnotatable, Microsoft.EntityFrameworkCore.Metadata.IReadOnlyModel
type IModel = interface
    interface IAnnotatable
type IModel = interface
    interface IReadOnlyModel
    interface IReadOnlyAnnotatable
    interface IAnnotatable
Public Interface IModel
Implements IAnnotatable
Public Interface IModel
Implements IAnnotatable, IReadOnlyModel
파생
구현

설명

서비스 수명은 입니다 Scoped. 즉, 각 DbContext instance 이 서비스의 자체 instance 사용합니다. 구현은 모든 수명에 등록된 다른 서비스에 따라 달라질 수 있습니다. 구현은 스레드로부터 안전할 필요가 없습니다.

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

속성

Item[String]

지정된 이름의 주석 값을 가져오고, 없는 경우 를 반환합니다 null .

(다음에서 상속됨 IReadOnlyAnnotatable)
ModelDependencies

런타임 서비스 종속성입니다.

ModelId

이 API는 Entity Framework Core 인프라를 지원하고 공용 API와 동일한 호환성 표준이 적용되지 않는 내부 API입니다. 릴리스에서 예고 없이 변경되거나 제거될 수 있습니다. 코드에서 직접 사용해야 하며, 이렇게 하면 새 Entity Framework Core 릴리스로 업데이트할 때 애플리케이션 오류가 발생할 수 있다는 것을 알고 있어야 합니다.

(다음에서 상속됨 IReadOnlyModel)

메서드

AddRuntimeAnnotation(String, Object)

이 개체에 런타임 주석을 추가합니다. 지정된 이름의 주석이 이미 있는 경우 을 throw합니다.

(다음에서 상속됨 IAnnotatable)
AnnotationsToDebugString(Int32)

개체에 선언된 모든 주석에 대한 디버그 문자열을 가져옵니다.

(다음에서 상속됨 IReadOnlyAnnotatable)
FindAnnotation(String)

지정된 이름의 주석을 가져오고 null , 없는 경우 를 반환합니다.

(다음에서 상속됨 IReadOnlyAnnotatable)
FindEntityType(String)

지정된 이름의 엔터티를 가져옵니다. 지정된 이름을 가진 엔터티 형식이 없거나 공유 형식 엔터티 형식에서 지정된 CLR 형식을 사용 중이거나 엔터티 형식에 정의 탐색이 있는 경우 를 반환 null 합니다.

FindEntityType(String, String, IEntityType)

지정된 이름의 엔터티 형식을 가져오고 탐색 이름 및 정의 엔터티 형식을 정의합니다. 일치하는 엔터티 형식이 없으면 를 반환 null 합니다.

FindEntityType(String, String, IReadOnlyEntityType)

탐색 이름 및 정의 엔터티 형식을 정의하는 지정된 기본 이름의 엔터티 형식을 가져옵니다. 일치하는 엔터티 형식이 없으면 를 반환 null 합니다.

(다음에서 상속됨 IReadOnlyModel)
FindEntityType(Type)

지정된 엔터티 클래스를 매핑하는 엔터티를 가져옵니다. 지정된 CLR 형식이 있는 엔터티 형식이 없거나 공유 형식 엔터티 형식에서 지정된 CLR 형식을 사용 중이거나 엔터티 형식에 정의 탐색이 있는 경우 를 반환 null 합니다.

FindEntityType(Type, String, IEntityType)

지정된 이름의 엔터티 형식을 가져오고 탐색 이름 및 정의 엔터티 형식을 정의합니다. 일치하는 엔터티 형식이 없으면 를 반환 null 합니다.

FindEntityType(Type, String, IReadOnlyEntityType)

탐색 이름 및 정의 엔터티 형식을 정의하는 지정된 형식의 엔터티 형식을 가져옵니다. 일치하는 엔터티 형식이 없으면 를 반환 null 합니다.

(다음에서 상속됨 IReadOnlyModel)
FindEntityTypes(Type)

지정된 형식과 일치하는 엔터티 형식을 가져옵니다.

FindLeastDerivedEntityTypes(Type, Func<IReadOnlyEntityType,Boolean>)

지정된 에서 가장 적게 파생된 형식에 해당하는 엔터티 형식을 반환합니다.

FindRuntimeAnnotation(String)

지정된 이름의 런타임 주석을 가져오고 존재하지 않는 경우 를 반환합니다 null .

(다음에서 상속됨 IAnnotatable)
FindRuntimeAnnotationValue(String)

지정된 이름의 런타임 주석 값을 가져오고 존재하지 않는 경우 를 반환합니다 null .

(다음에서 상속됨 IAnnotatable)
FindRuntimeEntityType(Type)

지정된 엔터티 클래스를 매핑하는 엔터티를 가져옵니다. 여기서 클래스는 실제 엔터티 형식에서 파생된 프록시일 수 있습니다. 지정된 CLR 형식이 있는 엔터티 형식이 없거나 공유 형식 엔터티 형식에서 지정된 CLR 형식을 사용 중이거나 엔터티 형식에 정의 탐색이 있는 경우 를 반환 null 합니다.

FindTypeMappingConfiguration(Type)

지정된 스칼라 에 대한 사전 규칙 구성을 찾습니다 Type.

GetAnnotation(String)

지정된 이름의 주석을 가져오고, 없는 경우 을 throw합니다.

(다음에서 상속됨 IReadOnlyAnnotatable)
GetAnnotations()

현재 개체의 모든 주석을 가져옵니다.

(다음에서 상속됨 IReadOnlyAnnotatable)
GetChangeTrackingStrategy()

모델의 엔터티에 사용되는 기본 변경 내용 추적 전략을 가져옵니다. 이 전략은 컨텍스트가 엔터티 형식의 instance 속성에 대한 변경 내용을 검색하는 방법을 나타냅니다.

(다음에서 상속됨 IReadOnlyModel)
GetEntityTypes()

모델에 정의된 모든 엔터티 형식을 가져옵니다.

GetModelDependencies()

런타임 서비스 종속성을 가져옵니다.

GetOrAddRuntimeAnnotationValue<TValue,TArg>(String, Func<TArg,TValue>, TArg)

지정된 이름의 런타임 주석 값을 가져오고, 이름이 없으면 추가합니다.

(다음에서 상속됨 IAnnotatable)
GetProductVersion()

이 모델을 빌드하는 데 사용되는 EF Core 어셈블리 버전을 가져옵니다.

(다음에서 상속됨 IReadOnlyModel)
GetPropertyAccessMode()

PropertyAccessMode 이 모델의 엔터티 형식 속성에 사용되는 을 가져옵니다.

(다음에서 상속됨 IReadOnlyModel)
GetRuntimeAnnotations()

현재 개체의 모든 런타임 주석을 가져옵니다.

(다음에서 상속됨 IAnnotatable)
GetTypeMappingConfigurations()

모든 사전 규칙 구성을 가져옵니다.

IsIndexerMethod(MethodInfo)

지정된 MethodInfo 가 인덱서 액세스를 나타내는지 여부를 나타내는 값을 가져옵니다.

IsShared(Type)

모델의 공유 형식 엔터티에서 CLR 형식을 사용하는지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 IReadOnlyModel)
RemoveRuntimeAnnotation(String)

이 개체에서 지정된 런타임 주석을 제거합니다.

(다음에서 상속됨 IAnnotatable)
SetRuntimeAnnotation(String, Object)

지정된 키 아래에 저장된 런타임 주석을 설정합니다. 지정된 이름의 주석이 이미 있는 경우 기존 주석을 덮어씁니다.

(다음에서 상속됨 IAnnotatable)
ToDebugString(MetadataDebugStringOptions, Int32)

지정된 메타데이터의 사람이 읽을 수 있는 표현을 만듭니다.

경고: 반환된 문자열의 형식을 사용하지 마세요. 디버깅 전용으로 설계되었으며 릴리스 간에 임의로 변경될 수 있습니다.

(다음에서 상속됨 IReadOnlyModel)

확장 메서드

GetDefaultContainer(IModel)

기본 컨테이너 이름을 반환합니다.

GetDefaultContainer(IReadOnlyModel)

기본 컨테이너 이름을 반환합니다.

GetThroughput(IReadOnlyModel)

데이터베이스 scope 프로비전된 처리량을 반환합니다.

AnnotationsToDebugString(IAnnotatable, Int32)

개체에 선언된 모든 주석에 대한 디버그 문자열을 가져옵니다.

GetAnnotation(IAnnotatable, String)

지정된 이름의 주석을 가져오고, 없는 경우 을 throw합니다.

GetRelationalDependencies(IModel, String)

관계형 서비스 종속성을 반환합니다.

Scaffolding(IModel)

엔터티의 모양, 엔터티 간의 관계 및 데이터베이스에 매핑하는 방법에 대한 메타데이터입니다. 모델은 일반적으로 파생된 에서 메서드를 재정의 OnModelCreating(ModelBuilder) 하여 생성됩니다 DbContext.

FindEntityType(IModel, Type)
사용되지 않습니다..

지정된 엔터티 클래스를 매핑하는 엔터티를 가져옵니다. 지정된 CLR 형식이 있는 엔터티 형식이 없거나 공유 형식 엔터티 형식에서 지정된 CLR 형식을 사용 중이거나 엔터티 형식에 정의 탐색이 있는 경우 를 반환 null 합니다.

FindEntityType(IModel, Type, String, IEntityType)

탐색 이름 및 정의 엔터티 형식을 정의하는 지정된 형식의 엔터티 형식을 가져옵니다. 일치하는 엔터티 형식이 없으면 를 반환 null 합니다.

FindRuntimeEntityType(IModel, Type)

지정된 엔터티 클래스를 매핑하는 엔터티를 가져옵니다. 여기서 클래스는 실제 엔터티 형식에서 파생된 프록시일 수 있습니다. 지정된 CLR 형식이 있는 엔터티 형식이 없거나 공유 형식 엔터티 형식에서 지정된 CLR 형식을 사용 중이거나 엔터티 형식에 정의 탐색이 있는 경우 를 반환 null 합니다.

GetChangeTrackingStrategy(IModel)

모델의 엔터티에 사용되는 기본 변경 내용 추적 전략을 가져옵니다. 이 전략은 컨텍스트가 엔터티 형식의 instance 속성에 대한 변경 내용을 검색하는 방법을 나타냅니다.

GetEntityTypes(IModel, String)
사용되지 않습니다..

지정된 이름과 일치하는 엔터티 형식을 가져옵니다.

GetEntityTypes(IModel, Type)
사용되지 않습니다..

지정된 형식과 일치하는 엔터티 형식을 가져옵니다.

GetProductVersion(IModel)

이 모델을 빌드하는 데 사용되는 EF Core 어셈블리 버전을 가져옵니다.

GetPropertyAccessMode(IModel)

PropertyAccessMode 이 모델의 엔터티 형식 속성에 사용되는 을 가져옵니다.

개별 엔터티 형식은 이 액세스 모드를 재정의할 수 있으며 엔터티 형식의 개별 속성은 엔터티 형식에 설정된 액세스 모드를 재정의할 수 있습니다. 여기서 반환된 값은 재정의가 지정되지 않은 모든 속성에 사용됩니다.

HasEntityTypeWithDefiningNavigation(IModel, String)
사용되지 않습니다..

모델에 정의 탐색이 있는 해당 엔터티 형식이 포함되어 있는지 여부를 나타내는 값을 가져옵니다.

HasEntityTypeWithDefiningNavigation(IModel, Type)
사용되지 않습니다..

모델에 정의 탐색이 있는 해당 엔터티 형식이 포함되어 있는지 여부를 나타내는 값을 가져옵니다.

IsIndexerMethod(IModel, MethodInfo)

지정된 MethodInfo가 인덱서 액세스를 다시 사용하는지 여부를 나타내는 값을 가져옵니다.

IsShared(IModel, Type)

CLR 형식이 모델의 공유 형식 엔터티에서 사용되는지 여부를 가져옵니다.

ToDebugString(IModel, MetadataDebugStringOptions, Int32)

지정된 메타데이터의 사람이 읽을 수 있는 표현을 만듭니다.

경고: 반환된 문자열의 형식을 사용하지 마세요. 디버깅 전용으로 설계되었으며 릴리스 간에 임의로 변경될 수 있습니다.

Relational(IModel)

모델에 대한 관계형 데이터베이스 특정 메타데이터를 가져옵니다.

FindDbFunction(IModel, MethodInfo)

지정된 MethodInfo가 나타내는 메서드에 매핑되는 함수를 찾습니다.

FindDbFunction(IModel, String)

지정된 이름으로 표시되는 메서드에 매핑되는 함수를 찾습니다.

FindDbFunction(IReadOnlyModel, MethodInfo)

지정된 MethodInfo가 나타내는 메서드에 매핑되는 함수를 찾습니다.

FindDbFunction(IReadOnlyModel, String)

지정된 이름으로 표시되는 메서드에 매핑되는 함수를 찾습니다.

FindSequence(IModel, String, String)

지정된 이름의 시퀀스를 찾습니다.

FindSequence(IReadOnlyModel, String, String)

지정된 이름의 시퀀스를 찾습니다.

GetCollation(IModel)

데이터베이스 데이터 정렬을 반환합니다.

GetCollation(IReadOnlyModel)

데이터베이스 데이터 정렬을 반환합니다.

GetDbFunctions(IModel)

모델에 포함된 모든 함수를 반환합니다.

GetDbFunctions(IReadOnlyModel)

모델에 포함된 모든 함수를 반환합니다.

GetDefaultSchema(IModel)

모델에 사용할 기본 스키마를 반환하거나 null 설정되지 않은 경우 를 반환합니다.

GetDefaultSchema(IReadOnlyModel)

모델에 사용할 기본 스키마를 반환하거나 null 설정되지 않은 경우 를 반환합니다.

GetMaxIdentifierLength(IModel)

저장소 식별자에 허용되는 최대 길이를 반환합니다.

GetMaxIdentifierLength(IReadOnlyModel)

저장소 식별자에 허용되는 최대 길이를 반환합니다.

GetRelationalModel(IModel)

데이터베이스 모델을 반환합니다.

GetSequences(IModel)

모델에 포함된 모든 시퀀스를 반환합니다.

GetSequences(IReadOnlyModel)

모델에 포함된 모든 시퀀스를 반환합니다.

GetFluentApiCalls(IModel, IAnnotationCodeGenerator)

모델을 구성하기 위한 흐름 API 호출을 가져옵니다.

Sqlite(IModel)

모델에 대한 SQLite 특정 메타데이터를 가져옵니다.

SqlServer(IModel)

모델에 대한 SQL Server 특정 메타데이터를 가져옵니다.

GetDatabaseMaxSize(IModel)

데이터베이스의 최대 크기를 반환합니다.

GetDatabaseMaxSize(IReadOnlyModel)

데이터베이스의 최대 크기를 반환합니다.

GetHiLoSequenceName(IModel)

기본 hi-lo 시퀀스에 사용할 이름을 반환합니다.

GetHiLoSequenceName(IReadOnlyModel)

기본 hi-lo 시퀀스에 사용할 이름을 반환합니다.

GetHiLoSequenceSchema(IModel)

기본 hi-lo 시퀀스에 사용할 스키마를 반환합니다. UseHiLo(PropertyBuilder, String, String)

GetHiLoSequenceSchema(IReadOnlyModel)

기본 hi-lo 시퀀스에 사용할 스키마를 반환합니다. UseHiLo(PropertyBuilder, String, String)

GetIdentityIncrement(IModel)

기본 ID 증분을 반환합니다.

GetIdentityIncrement(IReadOnlyModel)

기본 ID 증분을 반환합니다.

GetIdentitySeed(IModel)

기본 ID 초기값을 반환합니다.

GetIdentitySeed(IReadOnlyModel)

기본 ID 초기값을 반환합니다.

GetPerformanceLevelSql(IModel)

데이터베이스의 성능 수준을 반환합니다.

GetPerformanceLevelSql(IReadOnlyModel)

데이터베이스의 성능 수준을 반환합니다.

GetSequenceNameSuffix(IReadOnlyModel)

자동으로 생성된 시퀀스의 이름에 추가할 접미사를 반환합니다.

GetSequenceSchema(IReadOnlyModel)

기본값 생성 시퀀스에 사용할 스키마를 반환합니다. UseSequence(PropertyBuilder, String, String)

GetServiceTierSql(IModel)

데이터베이스의 서비스 계층을 반환합니다.

GetServiceTierSql(IReadOnlyModel)

데이터베이스의 서비스 계층을 반환합니다.

GetValueGenerationStrategy(IModel)

SqlServerValueGenerationStrategy 속성에 명시적으로 설정된 전략이 없는 한 모델에서 키 속성에 사용할 을 반환합니다.

GetValueGenerationStrategy(IReadOnlyModel)

SqlServerValueGenerationStrategy 속성에 명시적으로 설정된 전략이 없는 한 모델에서 키 속성에 사용할 을 반환합니다.

적용 대상