Language

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
属性
実装

コンストラクター

Name 説明
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 クラスの新しいインスタンスを作成します。

プロパティ

Name 説明
EntityType

この式で表されるエンティティ型。

IsCollection

この式がコレクションを表すかどうか。

IsNullable

この式が null 許容かどうか。

JsonColumn

JSON 値を含む列。

KeyPropertyMap

これは、パブリック API と同じ互換性標準の対象ではなく、Entity Framework Core インフラストラクチャをサポートする内部 API です。 これは、任意のリリースで予告なしに変更または削除される可能性があります。 コード内で直接使用する場合は、細心の注意を払う必要があります。これを行うと、新しいEntity Framework Core リリースに更新するときにアプリケーションのエラーが発生する可能性があることを認識してください。

NodeType

JSON 列にマップされたエンティティまたはエンティティのコレクションと、それにアクセスするためのパスを表す式。

この型は、通常、データベース プロバイダー (およびその他の拡張機能) によって使用されます。 通常、アプリケーション コードでは使用されません。

Path

列に格納されている JSON のルートからエンティティに至るパス セグメントの一覧。

StructuralType

この式で表される構造型。

Type

JSON 列にマップされたエンティティまたはエンティティのコレクションと、それにアクセスするためのパスを表す式。

この型は、通常、データベース プロバイダー (およびその他の拡張機能) によって使用されます。 通常、アプリケーション コードでは使用されません。

メソッド

Name 説明
BindCollectionElement(SqlExpression)

この JSON クエリ式を使用してコレクション要素のアクセスをバインドして、SQL 表現を取得します。

BindNavigation(INavigation)

この JSON クエリ式を使用してナビゲーションをバインドして、SQL 表現を取得します。

BindProperty(IProperty)

この JSON クエリ式を使用してプロパティをバインドして、SQL 表現を取得します。

BindStructuralProperty(IPropertyBase)

この JSON クエリ式を使用してナビゲーションまたは複合プロパティをバインドして、SQL 表現を取得します。

Equals(Object)

JSON 列にマップされたエンティティまたはエンティティのコレクションと、それにアクセスするためのパスを表す式。

この型は、通常、データベース プロバイダー (およびその他の拡張機能) によって使用されます。 通常、アプリケーション コードでは使用されません。

FindJsonElement(IPropertyBase)

JsonColumnの基になるColumnをContainingColumnと照合して、この式によって参照される JSON 列内の特定のプロパティ/ナビゲーション/複合プロパティのIRelationalJsonElementを検索します。または、そのような要素が存在しない場合 (たとえば、に基になるがない場合(OPENJSON/json_each上の合成 JSON 拡張の場合など)、または JSON 表現のないシャドウ キーなどの反復処理されたプロパティを 返します。

GetHashCode()

JSON 列にマップされたエンティティまたはエンティティのコレクションと、それにアクセスするためのパスを表す式。

この型は、通常、データベース プロバイダー (およびその他の拡張機能) によって使用されます。 通常、アプリケーション コードでは使用されません。

GetJsonElement(IPropertyBase)

この式によって参照される JSON 列内の指定されたプロパティ/ナビゲーション/複合プロパティの IRelationalJsonElement を、 JsonColumnの基になる Column と ContainingColumn照合して検索します。 これにより、エンティティ分割、TPT、TPC の各シナリオがあいまいになります。このシナリオでは、同じプロパティに複数の JSON 要素マッピング (具象テーブルごとに 1 つ) が含まれます。 PropertyName は、JSON 表現のないシャドウ キーに対して null 可能性があります。呼び出し元 GetProperties() を反復処理する場合は、そのケースを処理してスキップする必要があります。

MakeNullable()

この JSON クエリ式を null 許容にします。

Print(ExpressionPrinter)

ExpressionPrinterを使用して、指定された式の印刷可能な文字列形式を作成します。

Update(ColumnExpression, IReadOnlyDictionary<IProperty,ColumnExpression>)

次のような新しい式を作成しますが、指定された子を使用します。 すべての子が同じ場合、この式が返されます。

VisitChildren(ExpressionVisitor)

JSON 列にマップされたエンティティまたはエンティティのコレクションと、それにアクセスするためのパスを表す式。

この型は、通常、データベース プロバイダー (およびその他の拡張機能) によって使用されます。 通常、アプリケーション コードでは使用されません。

適用対象