簡體   English   中英

CoreData:如何建模循環多對多關系

[英]CoreData: How to model circular many-to-many relationships

一直試圖了解如何在Xcode 4.2中建模循環核心數據多對多關系。 在SQL中,我將使用映射表並自定義我的SQL表達式以向我提供正確的數據,但在Core數據中,我似乎無法理解如何讓他正常工作。 我有3個實體,它們都是相互關聯的:

  • 部門
  • 角色

我的鏈接是:

  • 部門可以有多個角色
  • 部門可以有多個人
  • 一個角色可以出現在許多部門
  • 角色可以分配許多人
  • 一個人可以屬於多個部門
  • 一個人可以成為許多角色的一部分

使用核心數據對其進行建模的最佳方法是什么?它們之間的關系最合適? 你會在這3個之間使用映射表,還是只分配正確的關系?

任何幫助都將受到高度贊賞,因為我似乎無法弄清楚這一點....

編輯:非常感謝您的快速反饋。 不幸的是,我不能上傳我的數據模型,因為我是這個網站的新手,不允許發布任何圖像。

要讀取數據,我目前只使用這樣的Predicate:

predicate = [NSPredicate predicateWithFormat:@"personPartOfRoles == %@", myRole];

我似乎無法弄清楚的是如何維護此對象圖以添加或從角色中刪除人員。 我假設我需要在內存中加載整個圖形,並以某種方式只找到要映射的正確實體。

只需在實體中分配正確的關系即可。

如果您要使用Core Data,請忽略您在SQLite中存儲的事實。 存儲只是一個幕后實現細節(因為coredata能夠存儲在XML或內存中),你可以忘記。

部門<< --- >>角色(部門角色)
部門<< --- >>人(部門對人)
角色<< - >>人(角色給人)

讓每個關系都有一個逆。

請記住,Core Data是一個可以持久保存到數據庫的對象圖。 像對象圖一樣對待它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM