是否可以将Core Data条目限制为单个属性?例如,假设我有这个实体:
Entity
Attribute: name
并且有多个Entity
个对象可以通过one-to-many
关系添加到数据库中。我是否可以限制数据条目,以便只能添加具有不同Entity
属性的name
?我不希望每次添加内容时都查询数据库,因为这会在数据库变大时对性能产生影响。
谢谢!
答案 0 :(得分:1)
不,你不能。
现在我有以下想法。
1 - 如果属性是字符串,则应将其设置为规范形式(没有重音的纯文本等)。然后,您可以使用startsWith
或endsWith
等谓词进行搜索。
2 - 您可以在用作哈希值的实体中添加另一个属性。插入新对象时将生成该哈希。插入新值时,将检查值。
3 - 索引属性以提高性能。
答案 1 :(得分:0)
核心日期无法自动检查重复值,因此您必须先检查 如果在插入新对象之前存在具有给定值的对象。
如果必须插入许多对象,则获取所有对象的效率更高 首先是新列表中的值,而不是许多获取请求。
“核心数据编程指南”中的"Implementing Find-or-Create Efficiently"对此进行了描述。