2017-06-06 55 views
0

我在覈心數據中有兩個實體:A和B. A與B有一對一的關係。我最好是在實體A中保存一個entityB'Id,然後在需要時在實體B上進行一次提取?在覈心數據中,具有一對一關係是一種好的做法

我的想法:

我仍然認爲有一個一對一的關係比較好。

  1. 我同意有時具有一對一的關係不是necessary.But我檢查覈心數據產生的源碼文件。對我來說,它看起來像是核心數據將這種關係保存爲一個內含Id的列。所以我不認爲保存一對一的關係比保存一個entityB的Id更加昂貴。

  2. 當我從實體A獲取一個對象後,擁有一對一關係允許我訪問實體B中的相關對象而無需再次獲取。我認爲最好是做一個獲取關係的對象而不是兩個獲取。

回答

0

無論哪種方式可能是好的。我同意沒有真正的性能影響,但將數據存儲在關係中;斷層關係非常快。如果關係中的數據相對較大,將它存儲在一個單獨的實體中可能是一種很好的做法,因爲在不需要時它不會出現故障。將它存儲在一個實體中可以使與fetchedResultsController的一些交互更容易。例如,如果正在獲取實體A,但是在實體B上有一個基於參與方的謂詞,如果實體B更改了fetchedResultsController,將會錯過它。