다음을 통해 공유


RuntimeModel 클래스

정의

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

public class RuntimeModel : Microsoft.EntityFrameworkCore.Infrastructure.AnnotatableBase, Microsoft.EntityFrameworkCore.Metadata.Internal.IRuntimeModel
type RuntimeModel = class
    inherit AnnotatableBase
    interface IRuntimeModel
    interface IModel
    interface IReadOnlyModel
    interface IReadOnlyAnnotatable
    interface IAnnotatable
Public Class RuntimeModel
Inherits AnnotatableBase
Implements IRuntimeModel
상속
RuntimeModel
구현
IAnnotatable IReadOnlyAnnotatable IModel Microsoft.EntityFrameworkCore.Metadata.Internal.IRuntimeModel IReadOnlyModel

설명

이는 빌드된 모델에서 생성되며 디자인 타임에 사용되지 않는 경량 구현입니다.

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

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

생성자

RuntimeModel()

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

속성

DebugView

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

IsReadOnly

현재 개체가 읽기 전용인지 여부를 나타냅니다.

(다음에서 상속됨 AnnotatableBase)
Item[String]

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

(다음에서 상속됨 AnnotatableBase)
ModelId

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

메서드

AddAnnotation(String, Annotation)

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

(다음에서 상속됨 AnnotatableBase)
AddAnnotation(String, Object)

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

(다음에서 상속됨 AnnotatableBase)
AddAnnotations(IEnumerable<IAnnotation>)

이 개체에 주석을 추가합니다.

(다음에서 상속됨 AnnotatableBase)
AddAnnotations(IReadOnlyDictionary<String,Object>)

이 개체에 주석을 추가합니다.

(다음에서 상속됨 AnnotatableBase)
AddEntityType(String, Type, RuntimeEntityType, Boolean, String, ChangeTrackingStrategy, PropertyInfo, Boolean)

정의 탐색을 사용하여 엔터티 형식을 모델에 추가합니다.

AddEntityType(String, Type, RuntimeEntityType, Boolean, String, ChangeTrackingStrategy, PropertyInfo, Boolean, Object)

정의 탐색을 사용하여 엔터티 형식을 모델에 추가합니다.

AddRuntimeAnnotation(String, Annotation)

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

(다음에서 상속됨 AnnotatableBase)
AddRuntimeAnnotation(String, Object)

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

(다음에서 상속됨 AnnotatableBase)
AddRuntimeAnnotations(IEnumerable<Annotation>)

이 개체에 런타임 주석을 추가합니다.

(다음에서 상속됨 AnnotatableBase)
AddRuntimeAnnotations(IReadOnlyDictionary<String,Object>)

이 개체에 런타임 주석을 추가합니다.

(다음에서 상속됨 AnnotatableBase)
AddTypeMappingConfiguration(Type, Nullable<Int32>, Nullable<Boolean>, Nullable<Int32>, Nullable<Int32>, Type, ValueConverter)

스칼라 형식에 대한 구성을 추가합니다.

CreateAnnotation(String, Object)

새 주석을 만듭니다.

(다음에서 상속됨 AnnotatableBase)
CreateRuntimeAnnotation(String, Object)

새 런타임 주석을 만듭니다.

(다음에서 상속됨 AnnotatableBase)
EnsureMutable()

모델이 읽기 전용이면 을 throw합니다.

(다음에서 상속됨 AnnotatableBase)
EnsureReadOnly()

모델이 읽기 전용이 아닌 경우 을 throw합니다.

(다음에서 상속됨 AnnotatableBase)
FindAdHocEntityType(Type)

지정된 이름의 엔터티 형식을 가져옵니다. null 지정된 이름의 엔터티 형식이 임시 형식으로 매핑되지 않은 경우 를 반환합니다.

FindAnnotation(String)

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

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

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

FindRuntimeAnnotation(String)

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

(다음에서 상속됨 AnnotatableBase)
GetAdHocEntityTypes()

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

GetAnnotation(String)

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

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

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

(다음에서 상속됨 AnnotatableBase)
GetOrAddAdHocEntityType(RuntimeEntityType)

임시 엔터티 형식을 모델에 추가합니다.

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

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

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

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

(다음에서 상속됨 AnnotatableBase)
OnAnnotationSet(String, Annotation, Annotation)

주석을 설정하거나 제거할 때 호출됩니다.

(다음에서 상속됨 AnnotatableBase)
RemoveAnnotation(String)

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

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

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

(다음에서 상속됨 AnnotatableBase)
SetAnnotation(String, Annotation, Annotation)

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

(다음에서 상속됨 AnnotatableBase)
SetAnnotation(String, Object)

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

(다음에서 상속됨 AnnotatableBase)
SetRuntimeAnnotation(String, Annotation, Annotation)

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

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

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

(다음에서 상속됨 AnnotatableBase)
SetSkipDetectChanges(Boolean)

호출해야 하는지 여부를 DetectChanges() 나타내는 값을 설정합니다.

명시적 인터페이스 구현

IAnnotatable.AddRuntimeAnnotation(String, Object)

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

(다음에서 상속됨 AnnotatableBase)
IAnnotatable.FindRuntimeAnnotation(String)

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

(다음에서 상속됨 AnnotatableBase)
IAnnotatable.GetRuntimeAnnotations()

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

(다음에서 상속됨 AnnotatableBase)
IAnnotatable.RemoveRuntimeAnnotation(String)

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

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

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

(다음에서 상속됨 AnnotatableBase)
IModel.FindEntityType(String)

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

IModel.FindEntityType(String, String, IEntityType)

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

IModel.FindEntityType(Type)

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

IModel.FindEntityTypes(Type)

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

IModel.FindTypeMappingConfiguration(Type)

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

IModel.GetEntityTypes()

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

IModel.GetTypeMappingConfigurations()

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

IModel.IsIndexerMethod(MethodInfo)

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

IReadOnlyAnnotatable.FindAnnotation(String)

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

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

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

(다음에서 상속됨 AnnotatableBase)
IReadOnlyAnnotatable.Item[String]

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

(다음에서 상속됨 AnnotatableBase)
IReadOnlyModel.FindEntityType(String)

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

IReadOnlyModel.FindEntityType(String, String, IReadOnlyEntityType)

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

IReadOnlyModel.FindEntityType(Type)

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

IReadOnlyModel.FindEntityType(Type, String, IReadOnlyEntityType)

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

IReadOnlyModel.FindEntityTypes(Type)

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

IReadOnlyModel.GetChangeTrackingStrategy()

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

IReadOnlyModel.GetEntityTypes()

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

IReadOnlyModel.GetPropertyAccessMode()

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

IReadOnlyModel.IsShared(Type)

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

IReadOnlyModel.ModelId

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

IRuntimeModel.RelationalModel

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

IRuntimeModel.SkipDetectChanges

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

확장 메서드

GetDefaultContainer(IModel)

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

GetDefaultContainer(IReadOnlyModel)

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

GetThroughput(IReadOnlyModel)

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

AnnotationsToDebugString(IAnnotatable, Int32)

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

GetRelationalDependencies(IModel, String)

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

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

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

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

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

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

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

GetProductVersion(IModel)

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

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

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

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

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

IsIndexerMethod(IModel, MethodInfo)

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

IsShared(IModel, Type)

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

ToDebugString(IModel, MetadataDebugStringOptions, Int32)

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

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

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 호출을 가져옵니다.

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

적용 대상