2012-10-19 5 views
2

ASP.NET MVC WebApi를 OData 서비스로 사용하고 있는데이 OData 서비스를 Jaydata로 쿼리하려고합니다.잘못된 OData EntityContainer 스키마 네임 스페이스

Jaydata에는 서비스 정의 ($ metadata)를 다운로드하고 필요한 상용구 코드를 생성하여 완전한 기능을 갖춘 JayData/JavaScript 클라이언트 환경을 만드는 명령 행 유틸리티 (JaySvcUtil.exe)가 있습니다.

웹 API + 하나로, OData이 $ 메타 데이터 페이지 생성된다 https://gist.github.com/3917081#file_metadata.xml

WebApiConfig : 나는

JaySvcUtil.exe -m http://odataserver.com:52132/api/ $ 메타 데이터를 실행 https://gist.github.com/3917081#file_web_api_config.cs

을 -o 을 Scripts/test.js -n Test.Testing

때문에 $ 메타 데이터 페이지에서 다음 값 = "기본"

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

네임 스페이스 : 0

그것은 문제가 발생하는 자바 스크립트 파일에이 자바 스크립트 파일 https://gist.github.com/3917081#file_jaydatafile.js

를 생성합니다.

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

어떻게 $ 메타 데이터 페이지에서이 네임 스페이스 값을 변경하거나 제거 할 수 있습니까?

답변

3

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(); 
    } 
관련 문제