問題タブ [object-graph]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
272 参照

ios - オブジェクト グラフの関係

なぜこれが機能しないのですか...?

コア データ モデルに「Client」エンティティと「Car」エンティティがあります。これは 1 対多の関係です。テーブル ビュー コントローラーから「クライアント」を選択し、クライアントが所有するすべての車表示する新しいテーブル ビュー コントローラーをプッシュしました。

StackOverflow の他の回答の情報に基づいて、次の短いコードをコンパイルして、テーブル ビュー コントローラーのセルに表示する車の名前を追い出しました。

ただし、これは機能していません。誰でも理由がわかりますか?それはうまくコンパイルされます。参考までに - 「クライアント」は選択されたクライアント オブジェクトです。carsArray は、viewcontroller ヘッダー ファイル内で宣言された NSArray であり、Car には「carName」という属性があります。

0 投票する
1 に答える
125 参照

c# - クエリの EF オブジェクト グラフを無効にする

アプリケーションでキャッシュを行っています。アプリケーションの起動時に、データベースから数百万行のデータをプリフェッチし、ローカル キャッシュに詰め込みます。

私の問題は、フェッチ操作中にEFを介してそのデータをすべてロードしているときに、オブジェクトグラフが巨大になることです(約4GB、コンテキストを破棄するとすぐに消えます)。アプリケーションがメモリ不足にならないように、このクエリのスコープ内 (またはコンテキストの有効期間) 内のオブジェクトを追跡しないように EF に指示できるようにしたいと考えています。

これを行う良い方法はありますか?

0 投票する
2 に答える
123 参照

relational-database - 整合性を維持しながら、オブジェクトグラフからオブジェクトを削除します

リレーショナルデータベースで、参照整合性を維持しながらオブジェクトグラフからオブジェクトを削除するための最良の方法は何ですか?ある時点で、これが発生する必要があります。ソフト削除またはハード削除のいずれかを使用します。

たとえば、製品が削除された場合、その製品を含む注文が引き続き関連していること、またはさらにその製品を含む注文を含む請求書が引き続き関連していることを確認するための最良のアプローチは何ですか?

0 投票する
3 に答える
6188 参照

objective-c - 2 つの iOS Core Data Persistent Store をマージする効率的な方法は何ですか?

開発中のアプリでは、Core Data と sqlite バッキング ストアを使用してデータを保存しています。アプリのオブジェクト モデルは複雑です。また、アプリによって提供されるデータの総量が大きすぎて、iOS (iPhone/iPad/iPod Touch) アプリ バンドルに収まりません。通常、ユーザーはデータのサブセットのみに関心があるため、アプリがデータ オブジェクトのサブセット (最大 100 MB) を含むようにデータを分割しました。アプリバンドル。ユーザーは、iTunes のアプリ内購入を通じて追加コンテンツの料金を支払った後、サーバーから追加のデータ オブジェクト (サイズが ~5 MB から 100 MB) をダウンロードするオプションがあります。増分データ ファイル (sqlite バッキング ストアに存在する) は、バンドルに同梱されるデータと同じ xcdatamodel バージョンを使用します。オブジェクト モデルへの変更はありません。増分データ ファイルは、サーバーから gzip 圧縮された sqlite ファイルとしてダウンロードされます。増分コンテンツをアプリと一緒に出荷することで、アプリ バンドルを肥大化させたくありません。また、Web サービスを介したクエリに依存したくありません (複雑なデータ モデルのため)。サーバーからの増分 sqlite データのダウンロードをテストしました。ダウンロードしたデータ ストアをアプリの共有の persistentStoreCoordinator に追加できました。  

  ただし、この方法で行うには 2 つの問題があります。

  1. データ フェッチの結果 (NSFetchResultController などを使用) は、defaultStoreURL のデータの末尾に追加された incrementalStoreURL のデータと共に表示されます。
  2. 一部のオブジェクトが複製されています。私たちのデータ モデルには、読み取り専用データを持つエンティティが多数あります。これらは、2 番目の persistentStore を persistentStoreCoordinator に追加すると複製されます。

理想的には、Core Data が 2 つの永続ストアからのオブジェクト グラフを 1 つにマージすることを望みます (データのダウンロード時に、2 つのストアからのデータ間に共有関係はありません)。また、重複したオブジェクトを削除したいと考えています。Web を検索すると、この回答この回答など、私たちが行っているのと同じことをしようとしている人々によるいくつかの質問が見つかりました。Core Data での大規模なデータ セットのインポートに関する Marcus Zarra のブログを読みました。しかし、これまで見てきた解決策はどれもうまくいきませんでした。インクリメンタル ストアからデフォルト ストアにデータを手動で読み取って保存することは、電話では非常に遅く、エラーが発生しやすいと考えられるため、行いたくありません。マージを行うより効率的な方法はありますか?

次のように手動移行を実装することで、問題の解決を試みました。ただし、マージを成功させることはできませんでした。上記の回答 1 と 2 で提案されている解決策については、明確ではありません。Marcus Zarra のブログでは、大規模なデータセットを iOS にインポートするプロジェクトの開始時に発生した問題のいくつかに対処しました。

  回答 1 の作成者は、最終的にインクリメンタル ストアからデータを読み取り、デフォルト ストアに保存したようです。おそらく、記事 1 と 2 の両方で提案されている解決策を誤解している可能性があります。データのサイズによっては、増分データを手動で読み取って既定のストアに再挿入することができない場合があります。私の質問は、オブジェクト グラフを (同じ objectModel を持つ) 2 つの PersistentStore から取得して 1 つの PersistentStore にマージする最も効率的な方法は何ですか?

自動移行は、新しいエンティティ属性をオブジェクト グラフに追加したり、関係を変更したりするときに非常にうまく機能します。自動移行が行われるため、同様のデータを停止して再開するのに十分な回復力を持つ同じ永続ストアにマージする簡単なソリューションはありますか?

0 投票する
1 に答える
1310 参照

api - オブジェクト グラフを更新するための REST API 設計

REST API を設計しており、オブジェクト グラフを更新するための推奨されるベスト プラクティスを探しています。私の質問は例で最もよく説明されているので、次のようなGETリソースがあるとしましょう:

URI: /people/123

この URI は、次のようなオブジェクト グラフを返します。

API コンシューマがこのリソースを更新できるようにする場合、PUT または PATCH を介してオブジェクトがどのように更新されることを期待しますか? 「name」プロパティの更新は非常に簡単ですが、消費者は他のオブジェクトとの関係のみを変更でき、新しいオブジェクトを作成できないため、「country」または「likes」については確信が持てません。

更新をリクエストする方法の 1 つを次に示します。

この更新により、リソースが次のように変更されます。

この設計では、消費者に「人」の「ID」のみを更新するように明示的かつ明確に求めていますが、PUT/PATCH のオブジェクト グラフが GET とは異なって見えるため、API の学習と覚えが難しくなっていることが懸念されます。したがって、別のオプションは、次のように PUT/PATCH を要求することです。

これにより、前回の更新と同じ変更が行われ、オブジェクト グラフは変更されません。ただし、「ID」のみを更新できることは、API コンシューマには明確になりません。

このシナリオでは、どのアプローチが推奨されますか?

0 投票する
1 に答える
1598 参照

java - 参照されたオブジェクトのJavaシリアライゼーションは「値を失う」のですか?

良い一日、

理解できない興味深い問題があります。Chatと呼ばれるLinkedList<String>を維持する「HomeScreenManager」というクラスがあります。HomeScreenManager インスタンスはサーバー上に存在し、接続とチャット ログの追跡を担当します。次に、チャットと呼ばれるLinkedList<String>を持つクラスである「ProtocolHomeScreen」というクラスを作成しましたSerializable を実装します。チャットですべてのクライアントを更新するときが来たら、ProtocolHomeScreen を送信したいと考えています。そこで、ProtocolHomeScreen の新しいインスタンスを作成します。これは文字列のリンク リストであり、HomeScreen のリンク リストを「取得」します。つまり、シリアライズしたいリンクリストは別のクラスで作成されましたが、別のインスタンスでそれを指しています。問題は、データが送信されず、反対側に空の LinkedList のみが表示されることです。デバッガーを 1 行ずつ実行し、すべての変数を検査し、writeObject を呼び出す直前にすべて問題ないように見えますが、クライアント側で ProtocolHomeScreen インスタンスを受け取ると、リンクされたリストが空です! (ただしnullではありません)何かアイデアはありますか?ありがとうございました!

次に、ここにプロトコルクラスがあります...

編集

これはクライアント側のコードです... プレーヤーの LinkedList は問題なく表示されることに注意してください。ただし、ProtocolHomeScreen (サーバー側) のコンストラクターで新しいインスタンスを作成したという事実と関係があると思います。

0 投票する
0 に答える
681 参照

object-graph - C# でネストされたオブジェクト グラフまたは階層オブジェクト グラフを作成する

次のように単純化して表すことができるオブジェクト階層があります。

複数のネストされたオブジェクトを含む一部のオブジェクトについても同様です。現在、利用可能な個々のオブジェクトを使用して完全なオブジェクト階層を構築するための一般的でエレガントな方法を見つけようとしています。背景として、返されるオブジェクトにネストされた子の識別子が含まれている Web サービスから個々のオブジェクトを取得しています。これを使用して、サービスを再度呼び出してネストされたオブジェクト データを取得しています。必要なデータをすべて解決したら、呼び出し元ができるように、それ自体と必要な子を作成する責任を持つ個々のオブジェクトのそれぞれのビルダーを使用して、完全なオブジェクト階層を作成する方法を見つけようとしていました。オブジェクト グラフ全体を手動で作成する必要がなくなります。

0 投票する
2 に答える
4408 参照

objective-c - iOS アプリの実行時にオブジェクト グラフを生成するツールはありますか?

既存の Xcode プロジェクトからクラス モデル図を生成するためのクラス モデル ツール ( OmniGraffle 、Doxygen)があることは知っています。しかし、シミュレーターまたはデバイスで実行中の iOS アプリでオブジェクト グラフを生成するツールを探しています。

0 投票する
1 に答える
1312 参照

java - JAXB および Java に適した方法で XML スキーマのオブジェクトの階層を表現するにはどうすればよいですか

分類法を表すデータ モデルがあります。分類法は、次のようなカテゴリの階層です。

これを次のように表現したい。

これを XML スキーマ (XSD) で表現する最良の方法は何ですか?

また、JAXB を使用するときに次のようなものを取得できるようにするにはどうすればよいですか

さらに、私の分類法が厳密なツリーではなく、スパゲッティがパスタとヌードルの下に来るように、複数の親関係が存在する可能性があるグラフである場合はどうなるでしょうか。

JAXBを使用すると、次のようなものを生成したいと思います

Java コードは、説明のために簡略化されていることに注意してください。JAXB コード生成では、カテゴリ プロパティを持つparentCategory などのコンテナー オブジェクトを使用してもかまいません

0 投票する
1 に答える
514 参照

iphone - 多対多のリレーションシップ コア データ iOS を使用してコンテキストから nsmanagedboject を削除する

私のモデルには、多対多の関係を持つ 2 つのエンティティ (カテゴリとニュース) があります (つまり、カテゴリには多くのニュースがあり、ニュース記事は 1 つ以上のカテゴリに属している可能性があります)。

以下は私のデザインです:

  • エンティティ 1:

カテゴリ (属性: カテゴリ ID、タイトル、ショー、位置)、「ニュース」というニュース エンティティとの関係。

「ニュース」関係は宛先が「ニュース」、逆関係が「カテゴリ」、タイプ対多関係、削除ルールがカスケードです。

  • エンティティ 2:

ニュース (属性: ニュース ID、引用、コンテンツ、リンク)、「カテゴリ」と呼ばれるカテゴリ エンティティとの関係。

"categories" の関係は宛先が "Category"、逆の関係が "news"、タイプが対多の関係、削除ルールが nullify です。

オブジェクト グラフは次のようになります。

ニュース <<------------->> カテゴリー

私の質問は:

1> 私の設計したモデルは良いですか?

2>設計したモデルに Arcoding します。ニュース オブジェクトを削除すると、コンテキストの例は次のようになります。

id newsObjectToDelete = .... [managedObjectContext deleteObject:newsObjectToDelete];

newsObjectToDelete が属する Category オブジェクトは、関連 "News" の NSSet から newsObjectToDelete を自動的に削除しますか。

3>「ニュース」が少なくとも1つの「カテゴリ」に属している必要があるという制約が必要な場合。その制約を実装する方法

少し早いですがお礼を。下手な英語でごめんなさい