Lenguaje

JsonQueryExpression Clase

Definición

Expresión que representa una entidad o una colección de entidades asignadas a una columna JSON y la ruta de acceso para acceder a ella.

Normalmente, este tipo lo usan los proveedores de bases de datos (y otras extensiones). Por lo general, no se usa en el código de aplicación.

[System.Runtime.CompilerServices.Nullable(0)]
public class JsonQueryExpression : System.Linq.Expressions.Expression, Microsoft.EntityFrameworkCore.Query.IPrintableExpression
public class JsonQueryExpression : System.Linq.Expressions.Expression, Microsoft.EntityFrameworkCore.Query.IPrintableExpression
[<System.Runtime.CompilerServices.Nullable(0)>]
type JsonQueryExpression = class
    inherit Expression
    interface IPrintableExpression
type JsonQueryExpression = class
    inherit Expression
    interface IPrintableExpression
Public Class JsonQueryExpression
Inherits Expression
Implements IPrintableExpression
Herencia
JsonQueryExpression
Atributos
Implementaciones

Constructores

Nombre Description
JsonQueryExpression(IEntityType, ColumnExpression, IReadOnlyDictionary<IProperty,ColumnExpression>, Type, Boolean)

Crea una nueva instancia de la JsonQueryExpression clase .

JsonQueryExpression(ITypeBase, ColumnExpression, IReadOnlyDictionary<IProperty,ColumnExpression>, IReadOnlyList<PathSegment>, Type, Boolean, Boolean)

Crea una nueva instancia de la JsonQueryExpression clase .

JsonQueryExpression(ITypeBase, ColumnExpression, IReadOnlyDictionary<IProperty,ColumnExpression>, Type, Boolean)

Crea una nueva instancia de la JsonQueryExpression clase .

Propiedades

Nombre Description
EntityType

Tipo de entidad representado por esta expresión.

IsCollection

Indica si esta expresión representa una colección.

IsNullable

Indica si esta expresión admite valores NULL.

JsonColumn

Columna que contiene el valor JSON.

KeyPropertyMap

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.

NodeType

Expresión que representa una entidad o una colección de entidades asignadas a una columna JSON y la ruta de acceso para acceder a ella.

Normalmente, este tipo lo usan los proveedores de bases de datos (y otras extensiones). Por lo general, no se usa en el código de aplicación.

Path

Lista de segmentos de ruta de acceso que conducen a la entidad desde la raíz del JSON almacenado en la columna.

StructuralType

Tipo estructural representado por esta expresión.

Type

Expresión que representa una entidad o una colección de entidades asignadas a una columna JSON y la ruta de acceso para acceder a ella.

Normalmente, este tipo lo usan los proveedores de bases de datos (y otras extensiones). Por lo general, no se usa en el código de aplicación.

Métodos

Nombre Description
BindCollectionElement(SqlExpression)

Enlaza un acceso de elemento de colección con esta expresión de consulta JSON para obtener la representación SQL.

BindNavigation(INavigation)

Enlaza una navegación con esta expresión de consulta JSON para obtener la representación SQL.

BindProperty(IProperty)

Enlaza una propiedad con esta expresión de consulta JSON para obtener la representación SQL.

BindStructuralProperty(IPropertyBase)

Enlaza una propiedad de navegación o compleja con esta expresión de consulta JSON para obtener la representación SQL.

Equals(Object)

Expresión que representa una entidad o una colección de entidades asignadas a una columna JSON y la ruta de acceso para acceder a ella.

Normalmente, este tipo lo usan los proveedores de bases de datos (y otras extensiones). Por lo general, no se usa en el código de aplicación.

FindJsonElement(IPropertyBase)

Busca el para la propiedad o navegación o propiedad compleja especificada dentro de la columna JSON a la que hace referencia esta expresión mediante la IRelationalJsonElement coincidencia JsonColumnde 's subyacente Column en ContainingColumn, o devuelve null si no existe ningún elemento de este tipo (incluido cuando JsonColumn no tiene ninguna representación subyacente Column, por ejemplo, para expansiones JSON sintéticas sobre OPENJSON/json_each, o para propiedades iteradas como claves de sombra que no tienen ninguna representación JSON).

GetHashCode()

Expresión que representa una entidad o una colección de entidades asignadas a una columna JSON y la ruta de acceso para acceder a ella.

Normalmente, este tipo lo usan los proveedores de bases de datos (y otras extensiones). Por lo general, no se usa en el código de aplicación.

GetJsonElement(IPropertyBase)

Busca para la propiedad, navegación o propiedad compleja especificada dentro de la columna JSON a la que hace referencia esta expresión mediante la IRelationalJsonElement coincidencia de subyacente con ColumnContainingColumn.JsonColumn Esto desambigua los escenarios de división de entidades, TPT y TPC en los que la misma propiedad tiene varias asignaciones de elementos JSON, una por tabla concreta. PropertyName puede ser null para las claves de sombra que no tienen ninguna representación JSON; los autores de la llamada que iteran GetProperties() deben controlar ese caso y omitirlos.

MakeNullable()

Hace que esta expresión de consulta JSON admita valores NULL.

Print(ExpressionPrinter)

Crea una representación de cadena imprimible de la expresión dada mediante ExpressionPrinter.

Update(ColumnExpression, IReadOnlyDictionary<IProperty,ColumnExpression>)

Crea una nueva expresión similar a esta, pero que usa los elementos secundarios proporcionados. Si todos los elementos secundarios son iguales, devolverá esta expresión.

VisitChildren(ExpressionVisitor)

Expresión que representa una entidad o una colección de entidades asignadas a una columna JSON y la ruta de acceso para acceder a ella.

Normalmente, este tipo lo usan los proveedores de bases de datos (y otras extensiones). Por lo general, no se usa en el código de aplicación.

Se aplica a