Поделиться через


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 экземпляр будет использовать собственный экземпляр этой службы. Реализация может зависеть от других служб, зарегистрированных с любым временем существования. Реализация не обязательно должна быть потокобезопасной.

Дополнительные сведения и примеры см. в разделе Моделирование типов сущностей и связей .

Конструкторы

RuntimeModel()

Метаданные о форме сущностей, связях между ними и их сопоставлении с базой данных. Модель обычно создается путем переопределения OnModelCreating(ModelBuilder) метода в производном DbContextобъекте .

Свойства

DebugView

Это внутренний API, который поддерживает инфраструктуру Entity Framework Core и не подчиняется тем же стандартам совместимости, что и общедоступные API. Он может быть изменен или удален без уведомления в любом выпуске. Его следует использовать только непосредственно в коде с особой осторожностью, зная, что это может привести к сбоям приложений при обновлении до нового выпуска Entity Framework Core.

IsReadOnly

Указывает, доступен ли текущий объект только для чтения.

(Унаследовано от AnnotatableBase)
Item[String]

Возвращает заметку со значением с заданным именем, возвращая null значение , если оно не существует.

(Унаследовано от AnnotatableBase)
ModelId

Это внутренний API, который поддерживает инфраструктуру Entity Framework Core и не подчиняется тем же стандартам совместимости, что и общедоступные API. Он может быть изменен или удален без уведомления в любом выпуске. Его следует использовать только непосредственно в коде с особой осторожностью, зная, что это может привести к сбоям приложений при обновлении до нового выпуска Entity Framework Core.

Методы

AddAnnotation(String, Annotation)

Добавляет заметку к этому объекту. Вызывает исключение, если заметка с указанным именем уже существует.

(Унаследовано от AnnotatableBase)
AddAnnotation(String, Object)

Добавляет заметку к этому объекту. Вызывает исключение, если заметка с указанным именем уже существует.

(Унаследовано от 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)

Добавляет к этому объекту заметку среды выполнения. Вызывает исключение, если заметка с указанным именем уже существует.

(Унаследовано от AnnotatableBase)
AddRuntimeAnnotation(String, Object)

Добавляет к этому объекту заметку среды выполнения. Вызывает исключение, если заметка с указанным именем уже существует.

(Унаследовано от 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()

Вызывает исключение, если модель доступна только для чтения.

(Унаследовано от AnnotatableBase)
EnsureReadOnly()

Вызывает исключение, если модель не доступна только для чтения.

(Унаследовано от AnnotatableBase)
FindAdHocEntityType(Type)

Возвращает тип сущности с заданным именем. Возвращает значение null , если тип сущности с заданным именем не был сопоставлен как нерегламентированный тип.

FindAnnotation(String)

Возвращает заметку с заданным именем, возвращающую null значение , если она не существует.

(Унаследовано от AnnotatableBase)
FindEntityType(String)

Возвращает тип сущности с заданным именем. Возвращает значение null , если тип сущности с заданным именем не найден или данный тип СРЕДЫ CLR используется типом сущности общего типа или тип сущности имеет определяющую навигацию.

FindRuntimeAnnotation(String)

Возвращает заметку среды выполнения с заданным именем, возвращающую null значение , если она не существует.

(Унаследовано от AnnotatableBase)
GetAdHocEntityTypes()

Возвращает все нерегламентированные типы сущностей, определенные в модели.

GetAnnotation(String)

Возвращает заметку с заданным именем, вызывая исключение, если она не существует.

(Унаследовано от 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)

Добавляет к этому объекту заметку среды выполнения. Вызывает исключение, если заметка с указанным именем уже существует.

(Унаследовано от AnnotatableBase)
IAnnotatable.FindRuntimeAnnotation(String)

Возвращает заметку среды выполнения с заданным именем, возвращающую null значение , если она не существует.

(Унаследовано от AnnotatableBase)
IAnnotatable.GetRuntimeAnnotations()

Возвращает все заметки среды выполнения для текущего объекта .

(Унаследовано от AnnotatableBase)
IAnnotatable.RemoveRuntimeAnnotation(String)

Удаляет заданную заметку среды выполнения из этого объекта.

(Унаследовано от AnnotatableBase)
IAnnotatable.SetRuntimeAnnotation(String, Object)

Задает заметку среды выполнения, хранящуюся в заданном ключе. Перезаписывает существующую заметку, если заметка с указанным именем уже существует.

(Унаследовано от AnnotatableBase)
IModel.FindEntityType(String)

Возвращает сущность с заданным именем. Возвращает значение null , если тип сущности с заданным именем не найден или данный тип СРЕДЫ CLR используется типом сущности общего типа или тип сущности имеет определяющую навигацию.

IModel.FindEntityType(String, String, IEntityType)

Возвращает тип сущности для заданного имени, определяющего имя навигации и определяющий тип сущности. Возвращает значение null , если соответствующий тип сущности не найден.

IModel.FindEntityType(Type)

Возвращает сущность, которая сопоставляет заданный класс сущностей. Возвращает значение null , если не найден тип сущности с заданным типом СРЕДЫ CLR или данный тип СРЕДЫ CLR используется типом сущности общего типа или тип сущности имеет определяющую навигацию.

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)

Возвращает тип сущности с заданным именем. Возвращает значение null , если тип сущности с заданным именем не найден или данный тип СРЕДЫ CLR используется типом сущности общего типа или тип сущности имеет определяющую навигацию.

IReadOnlyModel.FindEntityType(String, String, IReadOnlyEntityType)

Возвращает тип сущности для заданного базового имени, определяющего имя навигации и определяющий тип сущности. Возвращает значение null , если соответствующий тип сущности не найден.

IReadOnlyModel.FindEntityType(Type)

Возвращает сущность, которая сопоставляет заданный класс сущностей. Возвращает значение null , если не найден тип сущности с заданным типом СРЕДЫ CLR или данный тип СРЕДЫ CLR используется типом сущности общего типа или тип сущности имеет определяющую навигацию.

IReadOnlyModel.FindEntityType(Type, String, IReadOnlyEntityType)

Возвращает тип сущности для заданного типа, определяющий имя навигации и определяющий тип сущности. Возвращает значение null , если соответствующий тип сущности не найден.

IReadOnlyModel.FindEntityTypes(Type)

Возвращает типы сущностей, соответствующие заданному типу.

IReadOnlyModel.GetChangeTrackingStrategy()

Возвращает стратегию отслеживания изменений по умолчанию, используемую для сущностей в модели. Эта стратегия указывает, как контекст обнаруживает изменения свойств экземпляра типа сущности.

IReadOnlyModel.GetEntityTypes()

Возвращает все типы сущностей, определенные в модели.

IReadOnlyModel.GetPropertyAccessMode()

Возвращает объект , используемый PropertyAccessMode для свойств типов сущностей в этой модели.

IReadOnlyModel.IsShared(Type)

Возвращает значение, указывающее, используется ли тип CLR сущностями общего типа в модели.

IReadOnlyModel.ModelId

Это внутренний API, который поддерживает инфраструктуру Entity Framework Core и не подчиняется тем же стандартам совместимости, что и общедоступные API. Он может быть изменен или удален без уведомления в любом выпуске. Его следует использовать только непосредственно в коде с особой осторожностью, зная, что это может привести к сбоям приложений при обновлении до нового выпуска Entity Framework Core.

IRuntimeModel.RelationalModel

Это внутренний API, который поддерживает инфраструктуру Entity Framework Core и не подчиняется тем же стандартам совместимости, что и общедоступные API. Он может быть изменен или удален без уведомления в любом выпуске. Его следует использовать только непосредственно в коде с особой осторожностью, зная, что это может привести к сбоям приложений при обновлении до нового выпуска Entity Framework Core.

IRuntimeModel.SkipDetectChanges

Метаданные о форме сущностей, связях между ними и их сопоставлении с базой данных. Модель обычно создается путем переопределения OnModelCreating(ModelBuilder) метода в производном DbContextобъекте .

Методы расширения

GetDefaultContainer(IModel)

Возвращает имя контейнера по умолчанию.

GetDefaultContainer(IReadOnlyModel)

Возвращает имя контейнера по умолчанию.

GetThroughput(IReadOnlyModel)

Возвращает подготовленную пропускную способность на область базы данных.

AnnotationsToDebugString(IAnnotatable, Int32)

Возвращает строку отладки для всех заметок, объявленных в объекте .

GetRelationalDependencies(IModel, String)

Возвращает зависимости реляционной службы.

FindEntityType(IModel, Type)
Является устаревшей..

Возвращает сущность, которая сопоставляет заданный класс сущностей. Возвращает значение null , если не найден тип сущности с заданным типом СРЕДЫ CLR или данный тип СРЕДЫ CLR используется типом сущности общего типа или тип сущности имеет определяющую навигацию.

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)

Возвращает приращение удостоверения по умолчанию.

GetIdentityIncrement(IReadOnlyModel)

Возвращает приращение удостоверения по умолчанию.

GetIdentitySeed(IModel)

Возвращает начальное значение идентификатора по умолчанию.

GetIdentitySeed(IReadOnlyModel)

Возвращает начальное значение идентификатора по умолчанию.

GetPerformanceLevelSql(IModel)

Возвращает уровень производительности базы данных.

GetPerformanceLevelSql(IReadOnlyModel)

Возвращает уровень производительности базы данных.

GetSequenceNameSuffix(IReadOnlyModel)

Возвращает суффикс, добавляемый к имени автоматически создаваемых последовательностей.

GetSequenceSchema(IReadOnlyModel)

Возвращает схему, используемую для последовательности создания значений по умолчанию. UseSequence(PropertyBuilder, String, String)

GetServiceTierSql(IModel)

Возвращает уровень служб базы данных.

GetServiceTierSql(IReadOnlyModel)

Возвращает уровень служб базы данных.

GetValueGenerationStrategy(IModel)

Возвращает объект , используемый SqlServerValueGenerationStrategy для свойств ключей в модели, если свойство не имеет явно заданную стратегию.

GetValueGenerationStrategy(IReadOnlyModel)

Возвращает объект , используемый SqlServerValueGenerationStrategy для свойств ключей в модели, если свойство не имеет явно заданную стратегию.

Применяется к