Odata展開は常に左結合を生成します
Aug 21 2020
Odata拡張は常に左結合を生成します。そして、これにより、不要なデータが結果に含まれるようになります。モデルはリンクの下にあります
Odataを使用したEFに基づくDTOのクエリ
ExplicitExpansion()により、OData展開が機能しなくなります
回答
MichaelWang Aug 24 2020 at 10:06
OData
プロトコルは(内側/外側/左/右)のJOIN
ような操作をサポートしていませんSQL
。関係は、いわゆる「ナビゲーション」プロパティとして表されます。データがSQLテーブルに基づいている場合は、正確で複雑な結合をサーバーAPIで定義する必要があります。
$expand
複数結合に似たものを使用することもできます。
$expand
オプションの外部キーに対しても左結合を生成します。
左結合(デフォルト)
URL: / odata / clientcontract?$ expand = ContactsInfo

内部結合
URL: / odata / clientcontract?$ expand = ContactsInfo&$ filter = ContactsInfo / any()
