2014-01-27 130 views
1

我有一堆的核心數據實體,我正在尋找一種方法將它們連接到我認爲在Sqlite中稱爲「視圖」以方便訪問。iOS核心數據「視圖」

例如...

表1: 「事件」

  • EVENTID
  • VenueId
  • ArtistId

表2: 「場地」

  • VenueId
  • 名稱

表3: 「藝術家」

  • ArtistId
  • 名稱
  • 類型

的看法: 「MyEvents」

  • EVENTID
  • ARTISTNAME
  • ArtistGenre
  • VenueName
  • VenueCity
  • isRegistered (表內的財產 - 不取)

當我用EventId爲「MyEvents」創建一行時,它應該從與該EventId對應的「Artist」表和「Venue」表中獲取數據。

想法?

回答

0

不幸的是,在覈心數據中沒有「視圖」的概念。也沒有真正的「表」。每個記錄都是一個「實體」 - 實質上是「實體」表中的一行。每個「實體」都有屬性(列)。實體可以根據其「屬性」(列)具有「關係」(外鍵)。當你執行一次訪問時,一個關係的行爲就像一個連接。

要獲得您想要的行爲,您必須添加外鍵或使添加實體將您的實體關聯在一起:例如,通過具有屬性「EventId」和「VenueId」以及相應關係的「EventVenueRelationship」實體來關聯「事件」和「場地」實體。

我正在研究一個類似的問題,我有一個非常聯合的DB結構,在服務器上工作得很好,但是當你試圖將它硬塞到CD上時是很荒謬的。你有沒有找到更好的方法來解決這個問題?