ITableMetadataCache

El ITableMetadataCache servicio proporciona acceso en caché a los metadatos de las tablas de Dataverse. Recupera los metadatos de las tablas de Dataverse en el primer acceso y los almacena en caché para las solicitudes posteriores, evitando repetidos viajes de ida y vuelta al servidor.

Uso

Inyecta ITableMetadataCache y llama GetAsync con el nombre lógico de la mesa. La primera llamada recupera los metadatos de Dataverse; las llamadas posteriores devuelven el valor en caché.

React Blazor

Lo que incluye

El objeto devuelto TableMetadata incluye:

  • Columns — Una colección de metadatos de columna que incluye tipos de datos, reglas de validación, etiquetas y restricciones.
  • PrimaryIdColumn / PrimaryNameColumn — Los nombres lógicos de las columnas clave primaria y nombre principal de la tabla.
  • OneToMany / ManyToOne / ManyToMany — Metadatos de relaciones para navegar entre tablas relacionadas.
  • PrimaryImageColumn — El nombre lógico de la columna principal de imagen de la tabla, si existe.

Acceso a metadatos de columnas

Utiliza la Columns colección para buscar metadatos de una columna específica. Haz cast al tipo de metadatos apropiado (por ejemplo StringMetadata, , LookupMetadata, ChoiceMetadata) para propiedades específicas de tipo como longitud máxima, tablas objetivo o valores de opciones.

React Blazor

Acceso a metadatos de relaciones

Utiliza las OneToManycolecciones , ManyToOne, y ManyToMany para buscar metadatos de relaciones por nombre de relación. Esto se utiliza internamente por SubGrid y ManyToManyLookupEdit para resolver tablas relacionadas y consultas de construcción.

React Blazor

Propina

Prefiero ITableMetadataCache para IPowerPortalsProService.RetrieveTableMetadataAsync leer metadatos de la tabla. La caché evita llamadas de red redundantes y es utilizada internamente por todos los componentes de PowerPortalsPro.

ITableMetadataCache Interface

Métodos

Nombre
Parámetros
Tipo
Descripción
GetAllHeadersAsyncCancellationToken token
Task<IReadOnlyList<TableHeader>>
Devuelve los metadatos a nivel identidad — lógico, nombre de esquema y de visualización más algunas banderas — para cada tabla del entorno, ordenada por nombre de visualización. Caché junto a las entradas por tabla en lugar de en un camino separado, porque es el El mismo recurso caro se lee de otra manera: recuperar metadatos de tablas es pesado, y cada llamante debería ser atendido desde la caché en lugar de volver a consultar Dataverse. Población Un Picker de Mesa es el caso motivador — preguntar Threading.CancellationToken) Para que se llenen mil tablas, un desplegable recuperaría cada columna de cada una de ellas.
GetAsyncstring key
CancellationToken token
Task<TableMetadata>
Recupera un elemento de la caché mediante clave. Si el elemento no está almacenado en caché, se obtiene desde la fuente subyacente, se almacena en caché y se devuelve.
GetManyAsyncIReadOnlyList<TableMetadataRequest> requests
CancellationToken token
Task<IReadOnlyList<TableMetadata>>
Devuelve varios metadatos de las tablas a la vez, cada uno reducido a las columnas y relaciones sus nombres de petición. El punto intermedio entre ambos se lee arriba: tabla entera para una tabla, o Solo identidad para cada mesa. Esto es para el que llama y quiere un poco de cada uno de muchos — los nombres de visualización de las columnas de consulta detrás de una tabla relaciones, por ejemplo, que viven en las mesas relacionadas en lugar de en una sola que le pregunten. Cortado de lo que ya tiene la caché, así que preguntar unas treinta tablas es treinta consultas de diccionario en lugar de treinta recuperaciones. Reducción de cambios qué columnas regresan, no qué lleva cada una: una columna con nombre aparece como Completamente descrita como en una lectura de mesa completa. Una tabla que el entorno no tiene simplemente está ausente del resultado que lanzar — un lote es más fácil de leer si se corresponde con el nombre de la tabla que alineándolo en posición.
Nombre: GetAllHeadersAsync
Parámetros: CancellationToken token
Tipo: Task<IReadOnlyList<TableHeader>>
Descripción: Devuelve los metadatos a nivel identidad — lógico, nombre de esquema y de visualización más algunas banderas — para cada tabla del entorno, ordenada por nombre de visualización. Caché junto a las entradas por tabla en lugar de en un camino separado, porque es el El mismo recurso caro se lee de otra manera: recuperar metadatos de tablas es pesado, y cada llamante debería ser atendido desde la caché en lugar de volver a consultar Dataverse. Población Un Picker de Mesa es el caso motivador — preguntar Threading.CancellationToken) Para que se llenen mil tablas, un desplegable recuperaría cada columna de cada una de ellas.
Nombre: GetAsync
Parámetros: string key
CancellationToken token
Tipo: Task<TableMetadata>
Descripción: Recupera un elemento de la caché mediante clave. Si el elemento no está almacenado en caché, se obtiene desde la fuente subyacente, se almacena en caché y se devuelve.
Nombre: GetManyAsync
Parámetros: IReadOnlyList<TableMetadataRequest> requests
CancellationToken token
Tipo: Task<IReadOnlyList<TableMetadata>>
Descripción: Devuelve varios metadatos de las tablas a la vez, cada uno reducido a las columnas y relaciones sus nombres de petición. El punto intermedio entre ambos se lee arriba: tabla entera para una tabla, o Solo identidad para cada mesa. Esto es para el que llama y quiere un poco de cada uno de muchos — los nombres de visualización de las columnas de consulta detrás de una tabla relaciones, por ejemplo, que viven en las mesas relacionadas en lugar de en una sola que le pregunten. Cortado de lo que ya tiene la caché, así que preguntar unas treinta tablas es treinta consultas de diccionario en lugar de treinta recuperaciones. Reducción de cambios qué columnas regresan, no qué lleva cada una: una columna con nombre aparece como Completamente descrita como en una lectura de mesa completa. Una tabla que el entorno no tiene simplemente está ausente del resultado que lanzar — un lote es más fácil de leer si se corresponde con el nombre de la tabla que alineándolo en posición.