4

SQLite ベースのテーブル構造から Core Data モデルに移植しようとしているデータ モデルがあります。私の SQLite 構造には Zones テーブルと TransitLogs テーブルがあります。TransitLog には次の値を含めることができます (私の sqlite スキーマでは) start_zone_id end_zone_id

それぞれがゾーン テーブルへの外部キーです。これはSQLでうまく機能します。しかし、Core Data に移行するとき、これをモデル化する方法を理解するのに苦労しています。

私の最初の試みでは、TransitLog エンティティに、ゾーンを指す startZone および endZone 関係属性を持つ 2 つの関係があります (これが私の最初の投稿であるため、xcode のスクリーンショットを投稿できませんでした)。

問題は、startZone と endZone の関係属性の逆関係をどのように処理するかということです。私はそれらを必要としませんか?このトピックについて私が読んだドキュメントや本では、常に逆の関係を使用するのが最善ですが、それが当てはまらない場合、この特定の状況について疑問に思っています. それとも、Core Data でこれを間違ってモデル化しているだけですか。

アドバイスをありがとう。

マイク

4

3 に答える 3

3

Zone エンティティには、TransitLog を指す 2 つの個別の対多関係 ( と など) を設定できstartLogsますendLogs。これらはそれぞれ と の逆にstartZoneなりendZoneます。

于 2011-01-26T21:24:17.893 に答える
2

自明ではないモデルのバージョン管理と移行は、リアルタイム シンクになる可能性があります (特に初めての場合)。そのため、Apple がそれらの使用を推奨していることと同様に、逆の関係を追加することをお勧めします。

とはいえ、逆の関係を追加する意味がないというケースが少なくとも 1 つ見つかりました。すべて正常に動作します。しかし、その場合、逆の関係が有用または必要になるシナリオを見つけることは非常に困難でした (そして今もそうです)。

于 2011-01-29T01:14:40.573 に答える
1

みんなありがとう - 両方の答えが大いに役立ちました。Westsider の言うとおりです。現在、ゾーンから TransitLogs までトラバースする必要がないので、疑問に思っていました。しかし、そうは言っても、ある時点でそれらが必要になる可能性があると思います(何千人ものユーザーがそれを求めていることを願っています;))ので、おそらく今モデル化する方がよいでしょう.

回答ありがとうございます。

于 2011-01-28T12:16:04.517 に答える