請解釋我爲什麼核心數據拒絕創建如下所示的結構。核心數據:唯一性約束和一對一強制反比關係
|Employee | |Department|
|------ | <<--(opt)-------inverse-------(non_opt)--> |----------|
|id (un) | |name (un) |
|fullName |
* un - unique, opt - optional
在一些部門零名或更多的員工可以工作,但每位員工必須工作在一個和唯一的一個部門。例如,MySql顯然是一個模式。對於核心數據,我做了反向關係以避免一致性錯誤。但是,核心數據有自己的願景,這就是它說我:
error: Misconfigured Entity: Entity Department cannot have uniqueness constraints and to-one mandatory inverse relationship Employee.department
我已經發現了一些可疑的解決方案(使所有關係可選,從Department.name刪除獨特,並檢查「程序」,刪除反向關係),但我想明白,我犯了什麼錯誤,或者如果不是 - 蘋果試圖用這種奇怪的邏輯來表達什麼?
它應該涉及到'具有唯一約束,NSMergeByPropertyObjectTrumpMergePolicy覆蓋所有的屬性,只是沒有relationships.',在這裏看到:http://dorianroy.com/blog/2015/09/how- to-implement -internal-constraint-in-core-data-with-ios-9/ – bteapot
謝謝你的回覆,但是我認爲這不是我的情況。 1)我不使用這個策略,所有的約束檢查錯誤都會拋出異常,2)這是編譯時錯誤,核心數據「不喜歡」我的數據模式和應用程序無法使用它構建。 – Anton
唯一約束衝突就像合併衝突,它們不是SQL唯一索引 – malhal