Breeze はこれを完全にサポートしていますが、Entity Framework モデルが正しく設定されていることを確認する必要があります。Breeze zip の DocCode サンプルを参照して、expand (クライアント側) または EF include (サーバー側) 句の両方を使用する多くの例を確認してください。
あなたの問題についての 1 つの推測は、Breeze camelCasing 命名規則を使用しているため、「expand」句は
var qry = dataservice.getQuery("Challenges").expand("challengeNotes");
つまり、「challengeNotes」(大文字と小文字に注意してください) は、「ChallengeNotes」のサーバー側プロパティに対応するクライアント側プロパティの名前です。明確にするために、「expand」句はクライアント側の「プロパティ」の名前をパラメータとして取り、プロパティ名は Breeze.NamingConvention の結果として変換されます。
対照的に、クエリ リソース名、つまり例の「Challenges」は、サーバー側リソースの名前です ([HttpGet] アノテーションで「Challenges」メソッドをマークした結果です。この名前は NamingConvention の影響を受けません。
補足: あなたの例には、展開句とインクルード句の両方があります。これらのいずれかだけで十分です。両方は必要ありません。一般に、クライアント側のクエリに「expand」句を含めるか、サーバーに Entity Framework の「Include」句を含めることができます。1 つ目の利点は、クライアントで拡張を制御できることです。2 つ目の利点は、指定されたリソースに対するすべてのクエリで、関連するエンティティが常にフェッチされることを保証できることです。
お役に立てれば!