2

ASP.NET MVC WebApi を OData サービスとして使用しており、この OData サービスを Jaydata でクエリしたいと考えています。

Jaydata には、サービス定義 ($metadata) をダウンロードするコマンド ライン ユーティリティ (JaySvcUtil.exe) があり、必要なボイラープレート コードを生成することにより、フル機能の JayData / JavaScript クライアント環境を作成します。

Web API + Odata は、この $metadata ページを生成しています: https://gist.github.com/3917081#file_metadata.xml

WebApiConfig: https://gist.github.com/3917081#file_web_api_config.cs

私が走るとき

JaySvcUtil.exe -m http://odataserver.com:52132/api/ $metadata -o Scripts/test.js -n Test.Testing

この JavaScript ファイルを生成します https://gist.github.com/3917081#file_jaydatafile.js

問題は、生成された JavaScript ファイルにあります。

Default.context = new Default.Container( { name:'oData', oDataServiceHost: 'http://servername:52132/api' });

$metadata ページに次の値があるため、名前空間 = "Default" です。

Schema Namespace="Default" xmlns="http://schemas.microsoft.com/ado/2009/11/edm"

$metadata ページでこの名前空間の値を変更または削除するにはどうすればよいですか?

4

1 に答える 1

4

odata ナイトリー ビルドでサポートされています。http://aspnetwebstack.codeplex.com/discussions/353867

パッケージを最新の署名付きビルドにアップグレードした後。モデル ビルダーで名前空間を変更できます。

    private static IEdmModel GetEdmModel()
    {
        ODataModelBuilder modelBuilder = new ODataConventionModelBuilder();
        modelBuilder.Namespace = "xxx";
        modelBuilder.EntitySet<ProductionOrder>("ProductionOrders");
        return modelBuilder.GetEdmModel();
    }
于 2012-10-20T08:26:35.633 に答える