IModel 인터페이스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
엔터티의 모양, 엔터티 간의 관계 및 데이터베이스에 매핑하는 방법에 대한 메타데이터입니다. 모델은 일반적으로 파생된 에서 메서드를 재정의 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] |
지정된 이름의 주석 값을 가져오고, 없는 경우 를 반환합니다 |
ModelDependencies |
런타임 서비스 종속성입니다. |
ModelId |
이 API는 Entity Framework Core 인프라를 지원하고 공용 API와 동일한 호환성 표준이 적용되지 않는 내부 API입니다. 릴리스에서 예고 없이 변경되거나 제거될 수 있습니다. 코드에서 직접 사용해야 하며, 이렇게 하면 새 Entity Framework Core 릴리스로 업데이트할 때 애플리케이션 오류가 발생할 수 있다는 것을 알고 있어야 합니다. (다음에서 상속됨 IReadOnlyModel) |
메서드
AddRuntimeAnnotation(String, Object) |
이 개체에 런타임 주석을 추가합니다. 지정된 이름의 주석이 이미 있는 경우 을 throw합니다. (다음에서 상속됨 IAnnotatable) |
AnnotationsToDebugString(Int32) |
개체에 선언된 모든 주석에 대한 디버그 문자열을 가져옵니다. (다음에서 상속됨 IReadOnlyAnnotatable) |
FindAnnotation(String) |
지정된 이름의 주석을 가져오고 |
FindEntityType(String) |
지정된 이름의 엔터티를 가져옵니다. 지정된 이름을 가진 엔터티 형식이 없거나 공유 형식 엔터티 형식에서 지정된 CLR 형식을 사용 중이거나 엔터티 형식에 정의 탐색이 있는 경우 를 반환 |
FindEntityType(String, String, IEntityType) |
지정된 이름의 엔터티 형식을 가져오고 탐색 이름 및 정의 엔터티 형식을 정의합니다. 일치하는 엔터티 형식이 없으면 를 반환 |
FindEntityType(String, String, IReadOnlyEntityType) |
탐색 이름 및 정의 엔터티 형식을 정의하는 지정된 기본 이름의 엔터티 형식을 가져옵니다. 일치하는 엔터티 형식이 없으면 를 반환 |
FindEntityType(Type) |
지정된 엔터티 클래스를 매핑하는 엔터티를 가져옵니다. 지정된 CLR 형식이 있는 엔터티 형식이 없거나 공유 형식 엔터티 형식에서 지정된 CLR 형식을 사용 중이거나 엔터티 형식에 정의 탐색이 있는 경우 를 반환 |
FindEntityType(Type, String, IEntityType) |
지정된 이름의 엔터티 형식을 가져오고 탐색 이름 및 정의 엔터티 형식을 정의합니다. 일치하는 엔터티 형식이 없으면 를 반환 |
FindEntityType(Type, String, IReadOnlyEntityType) |
탐색 이름 및 정의 엔터티 형식을 정의하는 지정된 형식의 엔터티 형식을 가져옵니다. 일치하는 엔터티 형식이 없으면 를 반환 |
FindEntityTypes(Type) |
지정된 형식과 일치하는 엔터티 형식을 가져옵니다. |
FindLeastDerivedEntityTypes(Type, Func<IReadOnlyEntityType,Boolean>) |
지정된 에서 가장 적게 파생된 형식에 해당하는 엔터티 형식을 반환합니다. |
FindRuntimeAnnotation(String) |
지정된 이름의 런타임 주석을 가져오고 존재하지 않는 경우 를 반환합니다 |
FindRuntimeAnnotationValue(String) |
지정된 이름의 런타임 주석 값을 가져오고 존재하지 않는 경우 를 반환합니다 |
FindRuntimeEntityType(Type) |
지정된 엔터티 클래스를 매핑하는 엔터티를 가져옵니다. 여기서 클래스는 실제 엔터티 형식에서 파생된 프록시일 수 있습니다. 지정된 CLR 형식이 있는 엔터티 형식이 없거나 공유 형식 엔터티 형식에서 지정된 CLR 형식을 사용 중이거나 엔터티 형식에 정의 탐색이 있는 경우 를 반환 |
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 형식을 사용 중이거나 엔터티 형식에 정의 탐색이 있는 경우 를 반환 |
FindEntityType(IModel, Type, String, IEntityType) |
탐색 이름 및 정의 엔터티 형식을 정의하는 지정된 형식의 엔터티 형식을 가져옵니다. 일치하는 엔터티 형식이 없으면 를 반환 |
FindRuntimeEntityType(IModel, Type) |
지정된 엔터티 클래스를 매핑하는 엔터티를 가져옵니다. 여기서 클래스는 실제 엔터티 형식에서 파생된 프록시일 수 있습니다. 지정된 CLR 형식이 있는 엔터티 형식이 없거나 공유 형식 엔터티 형식에서 지정된 CLR 형식을 사용 중이거나 엔터티 형식에 정의 탐색이 있는 경우 를 반환 |
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) |
모델에 사용할 기본 스키마를 반환하거나 |
GetDefaultSchema(IReadOnlyModel) |
모델에 사용할 기본 스키마를 반환하거나 |
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 속성에 명시적으로 설정된 전략이 없는 한 모델에서 키 속성에 사용할 을 반환합니다. |
적용 대상
Entity Framework