如何以編程方式更改Core Data實體列的type
?例如,表格String
至Int 16
。該實體可以被假定爲空(無數據行)。如何動態更改Core Data實體列的類型?
0
A
回答
3
首先,它不是一個SQL列,它是一個實體的屬性。屬性具有行爲,但SQL中的列不具有行爲。
在回答你的問題時,一旦使用數據模型模型將數據寫入持久性存儲文件(sqlite存儲或其他格式),它就不能以編程方式進行更改。如果更改屬性,則需要執行版本遷移。
詳情請參閱:Core Data Model Versioning and Data Migration Programming Guide。
有點一般的建議:核心數據不是SQL。實體不是表格。對象不是行。屬性不是列。關係不是連接。核心數據是一個對象圖管理系統,它可能會或可能不會持久化對象圖,並且可能會或可能不會在後臺使用SQL來做到這一點。試圖用SQL語言來思考覈心數據會導致你完全誤解核心數據,並導致很多悲傷和浪費時間。
2
您可以操作NSManagedObjectModel
中實體的屬性(包括)類型,直到它用於初始化持久存儲協調器。因此,創建NSManagedObjectModel
,修改屬性(不是列)類型,然後像往常一樣設置核心數據堆棧。
當然,如果您已經使用原始模型保存了任何數據,則必須執行schema migration以將數據更新爲新類型。
相關問題
- 1. 如何在Core Data中保存上下文時更改實體?
- 2. 如何一次更改Core Data中所有實體的屬性值?
- 3. 更改列類型網格的動態
- 4. 如何動態更改SQLAlchemy聲明模型的列類型?
- 5. 如何在Core Data上下文之外使用Core Data模型子類?
- 6. 提取所有Core Data子實體
- 7. 如何在Core Data中獲取父對象的子實體?
- 8. 如何在代碼中訪問Core Data實體的屬性?
- 9. ios如何在Core Data中的實體中添加事件?
- 10. 實體框架更改Id類型
- 11. 更改默認實體集合類型
- 12. 使用Eclipselink/JPA更改實體類型?
- 13. JPA繼承 - 更改實體類型
- 14. 動態更新實體模型框架
- 15. 將Core Data父實體轉換爲子實體
- 16. 動態更改JQM中的data-iconpos
- 17. 如何將Core Data實體導出爲CSV文件
- 18. 如何在Core Data中創建持有人/交易實體?
- 19. 通過kundera jpa實體更改cassandra列值的數據類型
- 20. 如何動態更改Doctrine實體的映射信息?
- 21. 「動態類型」更改按鈕的字體大小
- 22. 如何在Core-Plot iphone中動態地將值更改爲BarChart?
- 23. 如何動態映射實體類?
- 24. 如何爲Core Data實現自定義映射模型?
- 25. 如何動態地更改
- 26. 在EF Core中添加新實體後如何更新實體
- 27. 如何動態更改字體名稱?
- 28. 如何動態更改字體顏色?
- 29. 更改實體狀態
- 30. 如何動態更改活動類