0

頻繁に変更される非常に動的なメタモデルがあります。EF は使用しませんが、独自のデータベース技術を使用しています。

サーバー側のメタモデルを「手動で」作成する方法に関する適切なドキュメントが見つからなかったため、クライアント側のメタモデルを作成し、アプリケーションをロードするときにこれを簡単にインポートすることにしました。

ここで、breeze にすべての Person-Object を取得して 3 つ取得するように指示したにもかかわらず、サーバーがすべての関連付けを展開し、3 つ以上の結果を返すという問題があります。その後、Breeze はクライアントの結果を 3 にカットし、プロパティを埋めます。

いくつかの概念を理解していなかっただけなのだろうか。私たちがやりたいことは、EF や NHybernate を使用せずに、メタモデルがどのように見えるかを Breeze に動的に伝えることだけです。それに関するドキュメントはありますか?

私が見つけたスキーマに関する唯一のドキュメントはこれでした: http://www.breezejs.com/documentation/metadata-schema

ただし、クライアント側のメタモデルについてのみ説明し、サーバー側で生成する必要があるスキーマについては説明しません。私が見る限り、サーバー側のメタモデルはとにかくクライアント側のメタモデルに変換されます。

誰かがトピックに関するすべての「基本情報」を明確にするか、リンクを提供できればうれしいです。

4

1 に答える 1

0

クライアント メタデータは Breeze クライアント用です。サーバーは、ドメイン モデルがどのようなものかを既に認識しているため、必要ありません。サーバー側のメタデータのコンテンツは、通常、ORM を使用する場合、データベースおよび/またはマッピング レイヤーから取得されます。

Breeze のサーバー側 WebApi フィルターは、データ プロバイダー (EF、NH など) からの IQueryable に OData クエリ パラメーターを適用しようとします。データ プロバイダーの LINQ 実装が不完全であると、前述の問題が発生する可能性があり、take機能しませんでした。

残念ながら、メタデータ スキーマドキュメントは古くなっています。その後、Breeze メタデータの JSON 形式の構造が変更されました。現在のメタデータの例を見て、メタデータ バイ ハンドのガイドラインに従うことをお勧めします。

于 2014-03-21T04:27:52.473 に答える