ホームページ >バックエンド開発 >C#.Net チュートリアル >[转]WebApi OData を使用した複合キー
本文转自:http://chris.eldredge.io/blog/2014/04/24/Composite-Keys/
基本的な構成では、エンティティが ID とバージョンで構成される複合キーを持っていることをモデル ビルダーに伝えました。
リーリー | リーリー |
OData フィードが次のような形式で個々のエンティティの edit
and self
リンクをレンダリングするには、これで十分です。
リーリー
正しい動作を取得するには、まず、キーによって個別のエンティティ インスタンスを取得する PackagesODataController をオーバーライドする必要があります:
リーリー |
括弧内の内容をルート データ マップにバインドする新しいルーティング規則を作成することで、これを修正できます。
リーリー |
EntityRoutingConvention
これが完了すると、標準のアクション解決が開始され、呼び出す正しいアクション オーバーロードが見つかります。
このルーティング規則は、WebApi ODataCompositeKeySample プロジェクトから適応されました。
ここでは、WebApi OData と WCF Data Services のもう 1 つの違いを示します。 WCF Data Services では、フレームワークは
から単一のインスタンスを選択するクエリの生成を処理します。これにより、キーによるインスタンスの検索方法をカスタマイズする機能が制限されます。 WebApi OData では、キーによってエンティティ インスタンスを取得するオーバーロードを明示的に定義する必要があり、クエリの実行方法をより詳細に制御できるようになります。
IQueryable
この区別はほとんどのプロジェクトでは重要ではないかもしれませんが、NuGet.Lucene.Web の場合、ローカル フィードがオンザフライで別のサーバーからパッケージを取得し、ローカル フィードに追加できるミラー オン デマンド機能が有効になります。リポジトリに保存し、最初からそこに常に存在していたかのようにクライアントに送り返します。
これを WCF Data Services でカスタマイズするには、かなりのバックフリップが必要でした。
シリーズインデックス
以上が[转]WebApi OData を使用した複合キーの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。