BreezeNamingConvention
機能は、エンティティ タイプ名のエイリアシングではなく、プロパティのエイリアシングをサポートします。したがって、エンティティ タイプ名のスペルは、サーバー側のタイプ名と正確に一致する必要があります ... キャメルケーシングの命名規則を選択したり、独自のカスタムプラグインを作成したりした場合でも.NamingConvention
そのため、テーブル/エンティティ クラス名の大文字と小文字の区別に問題があったことに驚いています。
このエラーを再現できません。これが私が試したものです
- データベースに「foo」テーブルを追加しました
- 対応する
foo
クラスを作成しました
foos
クエリ アクション メソッドとして Web API コントローラーから公開しました
- Breeze クライアントですべてのクエリを実行
foos
Breeze クライアントは問題なく (2 つの)foo
エンティティを返しました。
NamingConvention
クライアントの をいじろうとしたわけではないことに注意してください。デフォルトのままにしました...つまり、すべてのクライアントエンティティプロパティ名は、対応するサーバープロパティ名と同じです。前述したように、NamingConvention
はエンティティ タイプ名を処理せず、メタデータにはサーバーとクライアントのエンティティ タイプ名の違いを表すものはありません。
そうではないと思いますか?サンプルを提供できますか?
強い注意: Json.NET プロパティの命名規則を変更しないでください。すべての名前エイリアスは、クライアントの Breeze によって実行される必要があります。
[BreezeController]
一般に、属性がその値を設定している場合は、Json.NET 構成設定を変更しないでください。私が考えることができる唯一の例外は、null 値の処理です。Breeze は、Json.NET に null を無視するように指示します。それは間違いだと思います...必要に応じて、Json.NETにnull値を送信するように指示できます。