0

しばらく苦労した後、Breeze メタデータをスタイルで楽しみながらモデルを保護するために、最終的にメタデータ専用の 2 つ目の DbContext を作成しました。それが EFContextProvider に渡されるものです。したがって、モデル用に 1 つの DbContext と、dto を使用してデータ アクセス レイヤーとして機能する 1 つがあります。その後、オートマッパーを使用して linq プロジェクションを自動マッピングしようとしましたが、null 参照例外で壁にぶつかり続けました。ただし、このライブラリ: http://linqprojector.codeplex.com/は関連しており、まったく同じ構文を使用しており、完全に機能します。今、サーバー上に、実際に必要なものを返すメソッドがあります。それは、リストを含む dto です。モデルに Posts のリストを含むクラス Blog があるとします。このメソッドは、PostsDTO のリストを含むオブジェクト BlogDTO を返します。

しかし、Breeze の BlogDTO オブジェクトでは、投稿の配列は空のままです。ブラウザにデータが送信されているのをこの目で見たのですが、なぜか Breeze がデータの一部を無視してしまいました。

正直なところ、この道を進むには解決すべき問題がかなりあります。

皆さんと共有したかっただけです。誰かがこれを理解し、私を助けることができれば。Breeze クエリは次のとおりです。

 var query = EntityQuery
            .from('BlogWithPosts')
            .withParameters({id: blogId});

return manager.executeQuery(query)
                .then(querySucceeded)
                .fail(queryFailed);

function querySucceeded(data) {
            console.log(data);
            var s = data.results[0];
            return blogObservable(s);
        }

明確にするために、オブジェクト データの XHR プロパティでは、responseText プロパティが必要なすべてのデータを保持しています。自分で解析する必要がありますか? メタデータを簡単に取得するポイントは何でしたか...

4

2 に答える 2

0

わかりました、私はついにこれを理解しました。どうやら Breeze には InverseProperty 属性が必要なようです。設定が完了すると、関連するエンティティが表示されます。

于 2013-06-19T13:29:11.490 に答える