Compartir a través de


RuntimeModel Clase

Definición

Metadatos sobre la forma de las entidades, las relaciones entre ellas y cómo se asignan a la base de datos. Normalmente, un modelo se crea invalidando el OnModelCreating(ModelBuilder) método en un derivado 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
Herencia
RuntimeModel
Implementaciones
IAnnotatable IReadOnlyAnnotatable IModel Microsoft.EntityFrameworkCore.Metadata.Internal.IRuntimeModel IReadOnlyModel

Comentarios

Se trata de una implementación ligera que se construye a partir de un modelo construido y no está pensada para usarse en tiempo de diseño.

La duración del servicio es Scoped. Esto significa que cada DbContext instancia usará su propia instancia de este servicio. La implementación puede depender de otros servicios registrados con cualquier duración. La implementación no necesita ser segura para subprocesos.

Consulte Modelado de tipos de entidad y relaciones para obtener más información y ejemplos.

Constructores

RuntimeModel()

Metadatos sobre la forma de las entidades, las relaciones entre ellas y cómo se asignan a la base de datos. Normalmente, un modelo se crea invalidando el OnModelCreating(ModelBuilder) método en un derivado DbContext.

Propiedades

DebugView

Se trata de una API interna que admite la infraestructura de Entity Framework Core y no está sujeta a los mismos estándares de compatibilidad que las API públicas. Se puede cambiar o quitar sin previo aviso en ninguna versión. Solo debe usarlo directamente en el código con extrema precaución y saber que hacerlo puede dar lugar a errores de aplicación al actualizar a una nueva versión de Entity Framework Core.

IsReadOnly

Indica si el objeto actual es de solo lectura.

(Heredado de AnnotatableBase)
Item[String]

Obtiene la anotación de valor con el nombre especificado y devuelve null si no existe.

(Heredado de AnnotatableBase)
ModelId

Se trata de una API interna que admite la infraestructura de Entity Framework Core y no está sujeta a los mismos estándares de compatibilidad que las API públicas. Se puede cambiar o quitar sin previo aviso en ninguna versión. Solo debe usarlo directamente en el código con extrema precaución y saber que hacerlo puede provocar errores en la aplicación al actualizar a una nueva versión de Entity Framework Core.

Métodos

AddAnnotation(String, Annotation)

Agrega una anotación a este objeto. Produce si ya existe una anotación con el nombre especificado.

(Heredado de AnnotatableBase)
AddAnnotation(String, Object)

Agrega una anotación a este objeto. Produce si ya existe una anotación con el nombre especificado.

(Heredado de AnnotatableBase)
AddAnnotations(IEnumerable<IAnnotation>)

Agrega anotaciones a este objeto.

(Heredado de AnnotatableBase)
AddAnnotations(IReadOnlyDictionary<String,Object>)

Agrega anotaciones a este objeto.

(Heredado de AnnotatableBase)
AddEntityType(String, Type, RuntimeEntityType, Boolean, String, ChangeTrackingStrategy, PropertyInfo, Boolean)

Agrega un tipo de entidad con una navegación definitoria al modelo.

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

Agrega un tipo de entidad con una navegación definitoria al modelo.

AddRuntimeAnnotation(String, Annotation)

Agrega una anotación en tiempo de ejecución a este objeto. Produce si ya existe una anotación con el nombre especificado.

(Heredado de AnnotatableBase)
AddRuntimeAnnotation(String, Object)

Agrega una anotación en tiempo de ejecución a este objeto. Produce si ya existe una anotación con el nombre especificado.

(Heredado de AnnotatableBase)
AddRuntimeAnnotations(IEnumerable<Annotation>)

Agrega anotaciones en tiempo de ejecución a este objeto.

(Heredado de AnnotatableBase)
AddRuntimeAnnotations(IReadOnlyDictionary<String,Object>)

Agrega anotaciones en tiempo de ejecución a este objeto.

(Heredado de AnnotatableBase)
AddTypeMappingConfiguration(Type, Nullable<Int32>, Nullable<Boolean>, Nullable<Int32>, Nullable<Int32>, Type, ValueConverter)

Agrega la configuración de un tipo escalar.

CreateAnnotation(String, Object)

Crea una nueva anotación.

(Heredado de AnnotatableBase)
CreateRuntimeAnnotation(String, Object)

Crea una nueva anotación en tiempo de ejecución.

(Heredado de AnnotatableBase)
EnsureMutable()

Produce si el modelo es de solo lectura.

(Heredado de AnnotatableBase)
EnsureReadOnly()

Produce si el modelo no es de solo lectura.

(Heredado de AnnotatableBase)
FindAdHocEntityType(Type)

Obtiene el tipo de entidad con el nombre especificado. Devuelve null si no se ha asignado ningún tipo de entidad con el nombre especificado como un tipo ad hoc.

FindAnnotation(String)

Obtiene la anotación con el nombre especificado y devuelve null si no existe.

(Heredado de AnnotatableBase)
FindEntityType(String)

Obtiene el tipo de entidad con el nombre especificado. Devuelve null si no se encuentra ningún tipo de entidad con el nombre especificado o el tipo CLR especificado se usa mediante el tipo de entidad de tipo compartido o el tipo de entidad tiene una navegación definitoria.

FindRuntimeAnnotation(String)

Obtiene la anotación en tiempo de ejecución con el nombre especificado y devuelve null si no existe.

(Heredado de AnnotatableBase)
GetAdHocEntityTypes()

Obtiene todos los tipos de entidad ad hoc definidos en el modelo.

GetAnnotation(String)

Obtiene la anotación con el nombre especificado, iniciando si no existe.

(Heredado de AnnotatableBase)
GetAnnotations()

Obtiene todas las anotaciones del objeto actual.

(Heredado de AnnotatableBase)
GetOrAddAdHocEntityType(RuntimeEntityType)

Agrega un tipo de entidad ad hoc al modelo.

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

Obtiene el valor de la anotación en tiempo de ejecución con el nombre especificado, agregándolo si no existe uno.

(Heredado de AnnotatableBase)
GetRuntimeAnnotations()

Obtiene todas las anotaciones en tiempo de ejecución del objeto actual.

(Heredado de AnnotatableBase)
OnAnnotationSet(String, Annotation, Annotation)

Se llama cuando se estableció o quitó una anotación.

(Heredado de AnnotatableBase)
RemoveAnnotation(String)

Quita la anotación especificada de este objeto.

(Heredado de AnnotatableBase)
RemoveRuntimeAnnotation(String)

Quita la anotación en tiempo de ejecución especificada de este objeto.

(Heredado de AnnotatableBase)
SetAnnotation(String, Annotation, Annotation)

Establece la anotación almacenada en la clave especificada. Sobrescribe la anotación existente si ya existe una anotación con el nombre especificado.

(Heredado de AnnotatableBase)
SetAnnotation(String, Object)

Establece la anotación almacenada en la clave especificada. Sobrescribe la anotación existente si ya existe una anotación con el nombre especificado.

(Heredado de AnnotatableBase)
SetRuntimeAnnotation(String, Annotation, Annotation)

Establece la anotación en tiempo de ejecución almacenada en la clave especificada. Sobrescribe la anotación existente si ya existe una anotación con el nombre especificado.

(Heredado de AnnotatableBase)
SetRuntimeAnnotation(String, Object)

Establece la anotación en tiempo de ejecución almacenada en la clave especificada. Sobrescribe la anotación existente si ya existe una anotación con el nombre especificado.

(Heredado de AnnotatableBase)
SetSkipDetectChanges(Boolean)

Establece un valor que indica si DetectChanges() se debe llamar a .

Implementaciones de interfaz explícitas

IAnnotatable.AddRuntimeAnnotation(String, Object)

Agrega una anotación en tiempo de ejecución a este objeto. Produce si ya existe una anotación con el nombre especificado.

(Heredado de AnnotatableBase)
IAnnotatable.FindRuntimeAnnotation(String)

Obtiene la anotación en tiempo de ejecución con el nombre especificado y devuelve null si no existe.

(Heredado de AnnotatableBase)
IAnnotatable.GetRuntimeAnnotations()

Obtiene todas las anotaciones en tiempo de ejecución del objeto actual.

(Heredado de AnnotatableBase)
IAnnotatable.RemoveRuntimeAnnotation(String)

Quita la anotación en tiempo de ejecución especificada de este objeto.

(Heredado de AnnotatableBase)
IAnnotatable.SetRuntimeAnnotation(String, Object)

Establece la anotación en tiempo de ejecución almacenada en la clave especificada. Sobrescribe la anotación existente si ya existe una anotación con el nombre especificado.

(Heredado de AnnotatableBase)
IModel.FindEntityType(String)

Obtiene la entidad con el nombre especificado. Devuelve null si no se encuentra ningún tipo de entidad con el nombre especificado o el tipo CLR especificado se usa mediante el tipo de entidad de tipo compartido o el tipo de entidad tiene una navegación definitoria.

IModel.FindEntityType(String, String, IEntityType)

Obtiene el tipo de entidad para el nombre especificado, definiendo el nombre de navegación y el tipo de entidad que define. Devuelve null si no se encuentra ningún tipo de entidad coincidente.

IModel.FindEntityType(Type)

Obtiene la entidad que asigna la clase de entidad especificada. Devuelve null si no se encuentra ningún tipo de entidad con el tipo CLR especificado o el tipo CLR especificado se usa mediante el tipo de entidad de tipo compartido o el tipo de entidad tiene una navegación definitoria.

IModel.FindEntityTypes(Type)

Obtiene los tipos de entidad que coinciden con el tipo especificado.

IModel.FindTypeMappingConfiguration(Type)

Busca la configuración previa a la convención de un determinado escalar Type.

IModel.GetEntityTypes()

Obtiene todos los tipos de entidad definidos en el modelo.

IModel.GetTypeMappingConfigurations()

Obtiene todas las configuraciones de convención previa.

IModel.IsIndexerMethod(MethodInfo)

Obtiene un valor que indica si el especificado MethodInfo representa un acceso del indexador.

IReadOnlyAnnotatable.FindAnnotation(String)

Obtiene la anotación con el nombre especificado y devuelve null si no existe.

(Heredado de AnnotatableBase)
IReadOnlyAnnotatable.GetAnnotations()

Obtiene todas las anotaciones del objeto actual.

(Heredado de AnnotatableBase)
IReadOnlyAnnotatable.Item[String]

Obtiene el valor de la anotación con el nombre especificado y devuelve null si no existe.

(Heredado de AnnotatableBase)
IReadOnlyModel.FindEntityType(String)

Obtiene el tipo de entidad con el nombre especificado. Devuelve null si no se encuentra ningún tipo de entidad con el nombre especificado o el tipo CLR especificado se usa mediante el tipo de entidad de tipo compartido o el tipo de entidad tiene una navegación definitoria.

IReadOnlyModel.FindEntityType(String, String, IReadOnlyEntityType)

Obtiene el tipo de entidad para el nombre base especificado, definiendo el nombre de navegación y el tipo de entidad que define. Devuelve null si no se encuentra ningún tipo de entidad coincidente.

IReadOnlyModel.FindEntityType(Type)

Obtiene la entidad que asigna la clase de entidad especificada. Devuelve null si no se encuentra ningún tipo de entidad con el tipo CLR especificado o el tipo CLR especificado se usa mediante el tipo de entidad de tipo compartido o el tipo de entidad tiene una navegación definitoria.

IReadOnlyModel.FindEntityType(Type, String, IReadOnlyEntityType)

Obtiene el tipo de entidad para el tipo especificado, definiendo el nombre de navegación y el tipo de entidad que define. Devuelve null si no se encuentra ningún tipo de entidad coincidente.

IReadOnlyModel.FindEntityTypes(Type)

Obtiene los tipos de entidad que coinciden con el tipo especificado.

IReadOnlyModel.GetChangeTrackingStrategy()

Obtiene la estrategia de seguimiento de cambios predeterminada que se usa para las entidades del modelo. Esta estrategia indica cómo el contexto detecta los cambios en las propiedades de una instancia de un tipo de entidad.

IReadOnlyModel.GetEntityTypes()

Obtiene todos los tipos de entidad definidos en el modelo.

IReadOnlyModel.GetPropertyAccessMode()

Obtiene el objeto que se usa para las PropertyAccessMode propiedades de los tipos de entidad de este modelo.

IReadOnlyModel.IsShared(Type)

Obtiene un valor que indica si las entidades de tipo compartido del modelo usan el tipo CLR.

IReadOnlyModel.ModelId

Se trata de una API interna que admite la infraestructura de Entity Framework Core y no está sujeta a los mismos estándares de compatibilidad que las API públicas. Se puede cambiar o quitar sin previo aviso en ninguna versión. Solo debe usarlo directamente en el código con extrema precaución y saber que hacerlo puede dar lugar a errores de aplicación al actualizar a una nueva versión de Entity Framework Core.

IRuntimeModel.RelationalModel

Se trata de una API interna que admite la infraestructura de Entity Framework Core y no está sujeta a los mismos estándares de compatibilidad que las API públicas. Se puede cambiar o quitar sin previo aviso en ninguna versión. Solo debe usarlo directamente en el código con extrema precaución y saber que hacerlo puede dar lugar a errores de aplicación al actualizar a una nueva versión de Entity Framework Core.

IRuntimeModel.SkipDetectChanges

Metadatos sobre la forma de las entidades, las relaciones entre ellas y cómo se asignan a la base de datos. Normalmente, un modelo se crea invalidando el OnModelCreating(ModelBuilder) método en un derivado DbContext.

Métodos de extensión

GetDefaultContainer(IModel)

Devuelve el nombre de contenedor predeterminado.

GetDefaultContainer(IReadOnlyModel)

Devuelve el nombre de contenedor predeterminado.

GetThroughput(IReadOnlyModel)

Devuelve el rendimiento aprovisionado en el ámbito de la base de datos.

AnnotationsToDebugString(IAnnotatable, Int32)

Obtiene la cadena de depuración de todas las anotaciones declaradas en el objeto .

GetRelationalDependencies(IModel, String)

Devuelve las dependencias del servicio relacional.

FindEntityType(IModel, Type)
Obsoleto..

Obtiene la entidad que asigna la clase de entidad especificada. Devuelve null si no se encuentra ningún tipo de entidad con el tipo CLR especificado o si se usa el tipo CLR especificado por el tipo de entidad de tipo compartido o el tipo de entidad tiene una navegación definitoria.

GetEntityTypes(IModel, String)
Obsoleto..

Obtiene los tipos de entidad que coinciden con el nombre especificado.

GetEntityTypes(IModel, Type)
Obsoleto..

Obtiene los tipos de entidad que coinciden con el tipo especificado.

GetProductVersion(IModel)

Obtiene la versión del ensamblado de EF Core que se usa para compilar este modelo.

HasEntityTypeWithDefiningNavigation(IModel, String)
Obsoleto..

Obtiene un valor que indica si el modelo contiene un tipo de entidad correspondiente con una navegación definitoria.

HasEntityTypeWithDefiningNavigation(IModel, Type)
Obsoleto..

Obtiene un valor que indica si el modelo contiene un tipo de entidad correspondiente con una navegación definitoria.

IsIndexerMethod(IModel, MethodInfo)

Obtiene un valor que indica si methodInfo especificado vuelve a recibir acceso a un indexador.

IsShared(IModel, Type)

Obtiene si las entidades de tipo compartido usan el tipo CLR en el modelo.

ToDebugString(IModel, MetadataDebugStringOptions, Int32)

Crea una representación legible de los metadatos especificados.

Advertencia: No se base en el formato de la cadena devuelta. Está diseñado solo para depurar y puede cambiar arbitrariamente entre versiones.

FindDbFunction(IModel, MethodInfo)

Busca una función asignada al método representado por el especificado MethodInfo.

FindDbFunction(IModel, String)

Busca una función asignada al método representado por el nombre especificado.

FindDbFunction(IReadOnlyModel, MethodInfo)

Busca una función asignada al método representado por el especificado MethodInfo.

FindDbFunction(IReadOnlyModel, String)

Busca una función asignada al método representado por el nombre especificado.

FindSequence(IModel, String, String)

Busca una secuencia con el nombre especificado.

FindSequence(IReadOnlyModel, String, String)

Busca una secuencia con el nombre especificado.

GetCollation(IModel)

Devuelve la intercalación de la base de datos.

GetCollation(IReadOnlyModel)

Devuelve la intercalación de la base de datos.

GetDbFunctions(IModel)

Devuelve todas las funciones contenidas en el modelo.

GetDbFunctions(IReadOnlyModel)

Devuelve todas las funciones contenidas en el modelo.

GetDefaultSchema(IModel)

Devuelve el esquema predeterminado que se va a usar para el modelo o null si no se ha establecido ninguno.

GetDefaultSchema(IReadOnlyModel)

Devuelve el esquema predeterminado que se va a usar para el modelo o null si no se ha establecido ninguno.

GetMaxIdentifierLength(IModel)

Devuelve la longitud máxima permitida para los identificadores de almacén.

GetMaxIdentifierLength(IReadOnlyModel)

Devuelve la longitud máxima permitida para los identificadores de almacén.

GetRelationalModel(IModel)

Devuelve el modelo de base de datos.

GetSequences(IModel)

Devuelve todas las secuencias contenidas en el modelo.

GetSequences(IReadOnlyModel)

Devuelve todas las secuencias contenidas en el modelo.

GetFluentApiCalls(IModel, IAnnotationCodeGenerator)

Obtiene las llamadas API fluidas para configurar un modelo.

GetDatabaseMaxSize(IModel)

Devuelve el tamaño máximo de la base de datos.

GetDatabaseMaxSize(IReadOnlyModel)

Devuelve el tamaño máximo de la base de datos.

GetHiLoSequenceName(IModel)

Devuelve el nombre que se va a usar para la secuencia hi-lo predeterminada.

GetHiLoSequenceName(IReadOnlyModel)

Devuelve el nombre que se va a usar para la secuencia hi-lo predeterminada.

GetHiLoSequenceSchema(IModel)

Devuelve el esquema que se va a usar para la secuencia hi-lo predeterminada. UseHiLo(PropertyBuilder, String, String)

GetHiLoSequenceSchema(IReadOnlyModel)

Devuelve el esquema que se va a usar para la secuencia hi-lo predeterminada. UseHiLo(PropertyBuilder, String, String)

GetIdentityIncrement(IModel)

Devuelve el incremento de identidad predeterminado.

GetIdentityIncrement(IReadOnlyModel)

Devuelve el incremento de identidad predeterminado.

GetIdentitySeed(IModel)

Devuelve la inicialización de identidad predeterminada.

GetIdentitySeed(IReadOnlyModel)

Devuelve la inicialización de identidad predeterminada.

GetPerformanceLevelSql(IModel)

Devuelve el nivel de rendimiento de la base de datos.

GetPerformanceLevelSql(IReadOnlyModel)

Devuelve el nivel de rendimiento de la base de datos.

GetSequenceNameSuffix(IReadOnlyModel)

Devuelve el sufijo que se va a anexar al nombre de las secuencias creadas automáticamente.

GetSequenceSchema(IReadOnlyModel)

Devuelve el esquema que se va a usar para la secuencia de generación de valores predeterminada. UseSequence(PropertyBuilder, String, String)

GetServiceTierSql(IModel)

Devuelve el nivel de servicio de la base de datos.

GetServiceTierSql(IReadOnlyModel)

Devuelve el nivel de servicio de la base de datos.

GetValueGenerationStrategy(IModel)

Devuelve que SqlServerValueGenerationStrategy se va a usar para las propiedades de las claves del modelo, a menos que la propiedad tenga una estrategia establecida explícitamente.

GetValueGenerationStrategy(IReadOnlyModel)

Devuelve que SqlServerValueGenerationStrategy se va a usar para las propiedades de las claves del modelo, a menos que la propiedad tenga una estrategia establecida explícitamente.

Se aplica a