ここで行われた会話に従って作成したコマンドラインツールを使用して、POCO モデルのメタデータを生成します: https://stackoverflow.com/a/14904913/178620
このメタデータを使用しても、Breeze は単純なクエリで読み込まれたエンティティを具体化していないことがわかりました。その結果、typeInitializers
は実行されず、エンティティ プロパティは観察可能ではありません。
ko.computed
関数で定義したプロパティがtypeInitializer
以前に機能していたため、セットアップとメタデータが正しいことはわかっています。何が変わったのか説明しよう!
以前は、AutoMapper を使用していたためIQueryable
、回避しなければならなかったため、jQuery を使用してエンティティを 1 つずつ読み込む必要がありました。mergeEntity
この方法ではエンティティが実体化されないため、関数を公開しentityManager
て手動でこれを行うと、できあがり (控えめな表現) が機能しました。
それ以来、クロスカッティング モデルを実装し、AutoMapper を排除しました。今ではIQueryable
再び使用できるようになり、Breeze クエリが使用できるようになりました。ただし、エンティティが意図したとおりに機能しない理由については困惑しています。