Lenguaje

IModel Interfaz

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 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
Derivado
Implementaciones

Comentarios

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.

Propiedades

Nombre Description
Item[String]

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

(Heredado de IReadOnlyAnnotatable)
ModelDependencies

Dependencias del servicio en tiempo de ejecución.

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.

(Heredado de IReadOnlyModel)

Métodos

Nombre Description
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 IAnnotatable)
AnnotationsToDebugString(Int32)

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

(Heredado de IReadOnlyAnnotatable)
FindAnnotation(String)

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

(Heredado de IReadOnlyAnnotatable)
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.

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.

(Heredado de IReadOnlyModel)
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 de definición.

FindEntityType(Type, 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.

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.

(Heredado de 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.

FindEntityTypes(Type)

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

FindLeastDerivedEntityTypes(Type, Func<IReadOnlyEntityType,Boolean>)

Devuelve los tipos de entidad correspondientes a los tipos menos derivados de la clase especificada.

FindRuntimeAnnotation(String)

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

(Heredado de IAnnotatable)
FindRuntimeAnnotationValue(String)

Obtiene el valor de la anotación en tiempo de ejecución con el nombre especificado, devolviendo null si no existe.

(Heredado de IAnnotatable)
FindRuntimeEntityType(Type)

Obtiene la entidad que asigna la clase de entidad especificada, donde la clase puede ser un proxy derivado del tipo de entidad real. 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.

FindTypeMappingConfiguration(Type)

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

GetAnnotation(String)

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

(Heredado de IReadOnlyAnnotatable)
GetAnnotations()

Obtiene todas las anotaciones del objeto actual.

(Heredado de IReadOnlyAnnotatable)
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 cambios en las propiedades de una instancia de un tipo de entidad.

(Heredado de IReadOnlyModel)
GetEmbeddedDiscriminatorName()

Obtiene el nombre que se va a usar para las propiedades discriminatorias insertadas en documentos JSON. El valor predeterminado es "$type".

(Heredado de IReadOnlyModel)
GetEntityTypes()

Obtiene todos los tipos de entidad definidos en el modelo.

GetModelDependencies()

Obtiene las dependencias del servicio en tiempo de ejecución.

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

Obtiene el valor de la anotación en tiempo de ejecución con el nombre especificado y lo agrega si no existe uno.

(Heredado de IAnnotatable)
GetProductVersion()

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

(Heredado de IReadOnlyModel)
GetPropertyAccessMode()

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

(Heredado de IReadOnlyModel)
GetRuntimeAnnotations()

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

(Heredado de IAnnotatable)
GetTypeMappingConfigurations()

Obtiene todas las configuraciones de convención previa.

IsIndexerMethod(MethodInfo)

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

IsShared(Type)

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

(Heredado de IReadOnlyModel)
RemoveRuntimeAnnotation(String)

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

(Heredado de 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 IAnnotatable)
ToDebugString(MetadataDebugStringOptions, Int32)

Crea una representación legible de los metadatos especificados.

Advertencia: No confíe en el formato de la cadena devuelta. Está diseñado solo para la depuración y puede cambiar arbitrariamente entre versiones.

(Heredado de IReadOnlyModel)

Métodos de extensión

Nombre Description
AnnotationsToDebugString(IAnnotatable, Int32)

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

AreNamedDefaultConstraintsUsed(IReadOnlyModel)

Devuelve el valor que indica si se deben usar restricciones predeterminadas con nombre.

FindDbFunction(IModel, MethodInfo)

Busca una función que se asigna al método representado por el especificado MethodInfo.

FindDbFunction(IModel, String)

Busca una función que se asigna al método representado por el nombre especificado.

FindDbFunction(IReadOnlyModel, MethodInfo)

Busca una función que se asigna al método representado por el especificado MethodInfo.

FindDbFunction(IReadOnlyModel, String)

Busca una función que se asigna al método representado por el nombre especificado.

FindEntityType(IModel, Type, String, IEntityType)

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.

FindEntityType(IModel, Type)
Obsoletos.

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.

FindFullTextCatalog(IModel, String)

Busca un catálogo de texto completo en el modelo o devuelve null si no se encuentra.

FindFullTextCatalog(IReadOnlyModel, String)

Busca un catálogo de texto completo en el modelo o devuelve null si no se encuentra.

FindRuntimeEntityType(IModel, Type)

Obtiene la entidad que asigna la clase de entidad especificada, donde la clase puede ser un proxy derivado del tipo de entidad real. 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.

FindSequence(IModel, String, String)

Busca una secuencia con el nombre especificado.

FindSequence(IReadOnlyModel, String, String)

Busca una secuencia con el nombre especificado.

GetAnnotation(IAnnotatable, String)

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

GetChangeTrackingStrategy(IModel)

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

GetCollation(IModel)

Devuelve la intercalación de la base de datos.

GetCollation(IReadOnlyModel)

Devuelve la intercalación de la base de datos.

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.

GetDbFunctions(IModel)

Devuelve todas las funciones contenidas en el modelo.

GetDbFunctions(IReadOnlyModel)

Devuelve todas las funciones contenidas en el modelo.

GetDefaultContainer(IModel)

Devuelve el nombre de contenedor predeterminado.

GetDefaultContainer(IReadOnlyModel)

Devuelve el nombre de contenedor predeterminado.

GetDefaultFullTextSearchLanguage(IReadOnlyModel)

Devuelve el idioma predeterminado para la búsqueda de texto completo en el ámbito de la base de datos.

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.

GetDiscriminatorInKey(IReadOnlyModel)

Devuelve un valor que indica si el discriminador de tipo de entidad debe incluirse en el valor json "id". Antes de EF Core 9, siempre se incluía. A partir de EF Core 9, no se incluye de forma predeterminada.

GetEntityTypes(IModel, String)
Obsoletos.

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

GetEntityTypes(IModel, Type)
Obsoletos.

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

GetFluentApiCalls(IModel, IAnnotationCodeGenerator)

Obtiene las llamadas de API fluidas para configurar un modelo.

GetFullTextCatalogs(IModel)

Obtiene todos los catálogos de texto completo definidos en el modelo.

GetFullTextCatalogs(IReadOnlyModel)

Obtiene todos los catálogos de texto completo definidos en el modelo.

GetHasShadowIds(IReadOnlyModel)

Devuelve un valor que indica si la configuración para crear siempre la propiedad "__id" se puede establecer desde el origen de configuración actual.

GetHiLoSequenceName(IModel)

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

GetHiLoSequenceName(IReadOnlyModel)

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

GetHiLoSequenceSchema(IModel)

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

GetHiLoSequenceSchema(IReadOnlyModel)

Devuelve el esquema que se va a usar para la secuencia de 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.

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.

GetPerformanceLevelSql(IModel)

Devuelve el nivel de rendimiento de la base de datos.

GetPerformanceLevelSql(IReadOnlyModel)

Devuelve el nivel de rendimiento de la base de datos.

GetProductVersion(IModel)

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

GetPropertyAccessMode(IModel)

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

Tenga en cuenta que los tipos de entidad individuales pueden invalidar este modo de acceso y las propiedades individuales de los tipos de entidad pueden invalidar el modo de acceso establecido en el tipo de entidad. El valor devuelto aquí se usará para cualquier propiedad para la que no se haya especificado ninguna invalidación.

GetRelationalDependencies(IModel, String)

Devuelve las dependencias del servicio relacional.

GetRelationalModel(IModel)

Devuelve el modelo de base de datos.

GetSequenceNameSuffix(IReadOnlyModel)

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

GetSequences(IModel)

Devuelve todas las secuencias contenidas en el modelo.

GetSequences(IReadOnlyModel)

Devuelve todas las secuencias contenidas en el modelo.

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.

GetThroughput(IReadOnlyModel)

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

GetValueGenerationStrategy(IModel)

Devuelve el objeto SqlServerValueGenerationStrategy que 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 el objeto SqlServerValueGenerationStrategy que se va a usar para las propiedades de las claves del modelo, a menos que la propiedad tenga una estrategia establecida explícitamente.

HasEntityTypeWithDefiningNavigation(IModel, String)
Obsoletos.

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

HasEntityTypeWithDefiningNavigation(IModel, Type)
Obsoletos.

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

IsIndexerMethod(IModel, MethodInfo)

Obtiene un valor que indica si methodInfo dado vuelve a enviar un acceso de indexador.

IsShared(IModel, Type)

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

Relational(IModel)

Obtiene los metadatos específicos de la base de datos relacional para un modelo.

Scaffolding(IModel)

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.

Sqlite(IModel)

Obtiene los metadatos específicos de SQLite para un modelo.

SqlServer(IModel)

Obtiene el SQL Server metadatos específicos de un modelo.

ToDebugString(IModel, MetadataDebugStringOptions, Int32)

Crea una representación legible de los metadatos especificados.

Advertencia: No confíe en el formato de la cadena devuelta. Está diseñado solo para la depuración y puede cambiar arbitrariamente entre versiones.

Se aplica a