私は現在、プロジェクトで WebApi OData を使用していますが、非常にイライラする問題に遭遇しました。Visual Studio 2012 および .NET 4.5 のデフォルトである EF5 DbContext セットアップを使用して、Entity Framework データベース拳モデルを使用しています。私の問題は、Entity Framework のエンティティで OdataModelConventionBuilder を使用して OData エンドポイントの Edm を生成すると、OData $metadata でキー値が見つからず、エンティティ間の関連付けが適切に生成されないことです。
これは、DbContext で生成されたエンティティに DataAnnotation 属性がないためだと思います。属性を追加すると、キーが突然機能しますが、モデルが再生成されるとこれらの属性が失われるため、これは解決策ではありません。
この問題に対する既知の回避策はありますか?
現在、ODataModelBuilder を使用して手動で OData Edm を構築する必要がありますが、面倒でエラーが発生しやすいことがわかっています。