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 속성에 명시적으로 설정된 전략이 없는 한 모델에서 키 속성에 사용할 을 반환합니다. |