语言

JsonQueryExpression 类

定义

一个表达式,表示映射到 JSON 列的实体或实体集合,以及访问它的路径。

此类型通常由数据库提供程序(和其他扩展)使用。 它通常不用于应用程序代码。

[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
继承
JsonQueryExpression
特性
实现

构造函数

名称 说明
JsonQueryExpression(IEntityType, ColumnExpression, IReadOnlyDictionary<IProperty,ColumnExpression>, Type, Boolean)

创建类的新实例 JsonQueryExpression 。

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

创建类的新实例 JsonQueryExpression 。

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

创建类的新实例 JsonQueryExpression 。

属性

名称 说明
EntityType

此表达式所表示的实体类型。

IsCollection

此表达式是否表示集合。

IsNullable

此表达式是否可为 null。

JsonColumn

包含 JSON 值的列。

KeyPropertyMap

这是一个内部 API,支持Entity Framework Core基础结构,不受与公共 API 相同的兼容性标准的约束。 可以在任何版本中更改或删除它,而不通知。 只需在代码中直接使用它,并非常谨慎地知道这样做可能会导致应用程序在更新到新的Entity Framework Core版本时失败。

NodeType

一个表达式,表示映射到 JSON 列的实体或实体集合,以及访问它的路径。

此类型通常由数据库提供程序(和其他扩展)使用。 它通常不用于应用程序代码。

Path

从列中存储的 JSON 根目录指向实体的路径段列表。

StructuralType

此表达式表示的结构类型。

Type

一个表达式,表示映射到 JSON 列的实体或实体集合,以及访问它的路径。

此类型通常由数据库提供程序(和其他扩展)使用。 它通常不用于应用程序代码。

方法

名称 说明
BindCollectionElement(SqlExpression)

使用此 JSON 查询表达式绑定集合元素访问权限以获取 SQL 表示形式。

BindNavigation(INavigation)

使用此 JSON 查询表达式绑定导航以获取 SQL 表示形式。

BindProperty(IProperty)

使用此 JSON 查询表达式绑定属性以获取 SQL 表示形式。

BindStructuralProperty(IPropertyBase)

使用此 JSON 查询表达式绑定导航或复杂属性以获取 SQL 表示形式。

Equals(Object)

一个表达式,表示映射到 JSON 列的实体或实体集合,以及访问它的路径。

此类型通常由数据库提供程序(和其他扩展)使用。 它通常不用于应用程序代码。

FindJsonElement(IPropertyBase)

IRelationalJsonElement查找ColumnJsonColumnContainingColumn此表达式引用的 JSON 列中给定的属性/导航/复杂属性(如果不存在此类元素(包括没有基础Column元素(JsonColumn例如,对于 OPENJSON /json_each 的合成 JSON 扩展,或对于没有 JSON 表示形式的阴影键)引用的属性,则返回null该属性。

GetHashCode()

一个表达式,表示映射到 JSON 列的实体或实体集合,以及访问它的路径。

此类型通常由数据库提供程序(和其他扩展)使用。 它通常不用于应用程序代码。

GetJsonElement(IPropertyBase)

IRelationalJsonElement通过匹配JsonColumn的基础来查找此表达式引用的 JSON 列中给定属性/导航/复杂属性。ColumnContainingColumn 这区分了实体拆分、TPT 和 TPC 方案,其中同一属性具有多个 JSON 元素映射,每个具体表有一个。 PropertyName 可能 null 适用于没有 JSON 表示形式的影子键;调用方循环访问 GetProperties() 必须处理该大小写并跳过它们。

MakeNullable()

使此 JSON 查询表达式可为 null。

Print(ExpressionPrinter)

使用 ExpressionPrinter. 创建给定表达式的可打印字符串表示形式。

Update(ColumnExpression, IReadOnlyDictionary<IProperty,ColumnExpression>)

创建类似于此表达式的新表达式,但使用提供的子级。 如果所有子级都相同,它将返回此表达式。

VisitChildren(ExpressionVisitor)

一个表达式,表示映射到 JSON 列的实体或实体集合,以及访问它的路径。

此类型通常由数据库提供程序(和其他扩展)使用。 它通常不用于应用程序代码。

适用于