メタデータ要求に対する応答の Breeze Web API 実装がJSON オブジェクトではなく文字列を返す理由はありますか?
メタデータをテキストとして送信すると、ネットワーク上 (" エンコーディングによる) および手動の JSON.parse によるクライアント側で多くのオーバーヘッドが追加されます。
contentType ヘッダーを指定することで、コントローラーは単純に Metadata を JSON として返すことができると思います。
[HttpGet]
public HttpResponseMessage Metadata()
{
var result = new HttpResponseMessage { Content = new StringContent(_contextProvider.Metadata())};
result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
return result;
}