2009-11-04 12 views
0

我有兩個核心數據實體,比如Account和House。每個賬戶都可以有一個房屋清單,房屋只能在一個賬戶中,所以這是一個常規的一對多關係。如何在Core Data中的一組可能的實例中爲選定的實體實例建模?

一個帳戶還有一個「主要」屬性,用於指示許多可能房屋中的哪一個是主要房屋,如果沒有房屋,則爲零。主要財產的身份可能會改變,當然可能有很多賬戶,每個賬戶都有自己的房屋。

我應該將此模型與逆模型一一對應嗎?沒有?

或者我應該使用一個屬性對其進行建模,比如存儲關於房屋的獨特信息,如地塊號,並將其添加到房屋實體?

這兩種方法的優點和缺點是什麼?還有另一種方法,我應該看看嗎?

回答

1

我會將它建模爲與逆的一對一關係。儘管你可以逃避反過來。

建議始終使用反轉(因此,當數據模型中沒有逆時,Xcode編譯器會發出警告)。我能想到的唯一原因就是空間不足。如果每個帳戶的房屋數量巨大,則可以節省數據庫中的空間,以保持單向關係(僅從帳戶到主要房屋)。

您在每個實體中使用屬性的替代方法將佔用數據庫中相似的空間量,並且不太有用。通過這種關係,您將在被管理對象之間獲得指針,而不僅僅是通過屬性來查找它們。

+0

一對一關係的一個優點是,如果我有房子,我可以通過查看逆向主關係來查明它是否是主要關係。 – 2009-11-04 05:18:38

相關問題