問題タブ [odata-v4]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
552 参照

c# - OData v4 関数/アクション文字列を Unicode にする方法は?

たとえば、私はそのようなアクション定義を持っています

次に、メタデータで結果は次のようになります

ここUnicodeは偽です。この定義は .NET 文字列と同じように機能しますUnicode="true"か?

どうすれば作れUnicode="true"ますか?

0 投票する
1 に答える
367 参照

linq - Odata v4 ODataModelBuilder 関係ビルダー

私は OData v4 を使用して Web API を実装しようとしています。データベース構造は個別のテーブルです。テーブル間の関係は Enitiy フレームワーク内で表す必要があります。次のように、データベース structuer に EF モデルを実装しました。

テーブル間の関係を実装して、このようなクエリを使用できるようにする方法、またはコントローラーから通常の linq Query アクションを使用できる場合、
http://localhost:13193/api/table1 ?$expand =表2

0 投票する
1 に答える
152 参照

c# - バインドされた関数呼び出しが InvalidOperationException を返す

このOData V4 チュートリアルに従っていますが、バインドされた関数に問題がありますMostExpensive

この関数はProductsコレクションにバインドWebApiConfig.Register()され、チュートリアルで提案されているように登録されます。

このチュートリアルのパート 2 では、このサービスの基本的なクライアントについてのみ説明しています。そのため、チュートリアルの後半で説明する関数も呼び出せるように拡張したいと考えています。

OData Client Code Generatorチュートリアルで提案されているように、クライアントを作成しました。次に、いくつかの製品とサプライヤーを追加し、最も高価な製品を取得したいと考えています。

呼び出すと、型を参照してGetValue()いるというInvalidOperationException状態が返されますが、型が必要です。http://localhost:52542/$metadataEdm.DecimalCollection(Edm-Decimal)

http://localhost:52542/Products/ProductService.MostExpensive()ブラウザで直接呼び出すと、

どちらが正しいようです。

私は何か悪いことをしていますか?これを修正する方法がわかりません。それで、それについて何か提案はありますか?

0 投票する
1 に答える
1471 参照

asp.net-web-api - $expand の OData クエリ オプション $count が機能しない

このクエリのように $expand で $countを使用しようとしました

ただし、count は結果のどこにもありません。

エラーもありません。OData v4 を使用している ASP.NET Web API OData 5.4 を使用しています。

何を与える?まだ実装されていませんか?

0 投票する
1 に答える
4840 参照

odata - Web API 2.2 - $select または $expand が存在する場合、OData v4 ODataQueryOptions.applyTo() は null を返しますか?

OData オプションを手動で処理できるように、Web API 2.2 ODataController をセットアップしました (つまり、[EnableQuery] を使用せずに、または ODataQueryOptions パラメーターを使用します)。ただし、バグのように見えるものに遭遇しました。次のコードがあるとします。

これは 100% 機能しますが、次のように $select または $expand を追加します。

からnullを返します

そのため、2 つの個別の ODataQueryOptions を作成する必要がありました。1 つは IQueryable に適用するもの ($select または $expand なし) で、もう 1 つは $selects/$expands のみを使用して SelectExpandClause を構築し、Request.ODataProperties().SelectExpandClause に割り当てます。

null が返される理由がわかりません。このコードの背後にある主な目的は、Entity Framework 以外の ORM を操作するときに、OData の処理を​​より適切に制御できるようにすることです。現実的には、いずれにしても applyTo をオーバーライドすることになります (または、式ツリーを自分で手動で処理するだけです) が、この特定の例はまだバグのように思えます。

誰かが私にこれについての洞察を与えることができますか? たぶん、私が見逃しているものがあるだけです。

0 投票する
1 に答える
1112 参照

asp.net-web-api - バインドされていない関数からのコレクションを返すと、シリアル化エラーが発生します

FooBars のリストを返す次の設定があります。しかし、何らかの理由でシリアル化に失敗します:(

設定

バインドされていない関数

エラー

localhost/odata/Testを呼び出すと、以下のエラーが発生します

$Metadata スニペット