0

Global.asax で以下を使用して、クライアントでフォーマットを camelCase に変更しています。

        // Change Json data to camelCasing
        var json = GlobalConfiguration.Configuration.Formatters.JsonFormatter;
        json.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();

さらに、Unity を使用しています。別のサービスと、コントローラで消費されるメタデータを返すカスタム EFContextProvider クラスがあります。BreezeController の外部で Metadata を生成しているため、PascalCase でメタデータを返していると思います。これは、コードの最初の DbContext がすべて使用しています。

最終結果は、PascalCased メタデータ (これは私が期待するものからは間違っているようです) とキャメルケース エンティティを entityQueries から取得しますが、観察可能なノックアウト プロパティではありません。私のエンティティが観察できない理由のヒントやアイデアをいただければ幸いです。

4

2 に答える 2

0

BreezeConfig.Instance.GetJsonSerializerSettings().ContractResolver を使用して、このサーバー側を実現できます。

public static void RegisterBreezePreStart() {
 GlobalConfiguration.Configuration.Routes.MapHttpRoute(
  name: "BreezeApi",
  routeTemplate: "breeze/{controller}/{action}"
 );


 BreezeConfig.Instance.GetJsonSerializerSettings().ContractResolver 
                                        = new CamelCasePropertyNamesContractResolver();
}
于 2016-11-17T03:42:32.540 に答える