我不清楚对瞬态特性的正确定义:
我的问题是:在对象模型中声明瞬态属性有什么好处?我只看到一个不利的一面:每次你添加一个瞬态属性(例如。"FormattedDate") persistentStore变得不兼容。
我遗漏了什么?
发布于 2009-11-14 13:53:55
来自核心数据编程指南
如果不支持的属性是一个对象,那么在托管对象模型中,您将它的类型指定为未定义的类型,并且它是瞬态的。实现实体的自定义类时,不需要为属性添加实例变量--可以使用托管对象的私有内部存储。下面描述的实现需要注意的一点是,它们缓存瞬态值。这使得访问该值的效率更高--这对于变更管理也是必要的。如果定义了自定义实例变量,则应该在didTurnIntoFault中清除这些变量,而不是去分配或完成。
我认为这意味着“方便”和“将所有属性定义在一个地方--托管对象模型”。
至于MOM版本控制,核心数据模型版本控制和数据迁移编程指南说:
核心数据在版本控制方面的观点是,它只对影响持久性的模型特性感兴趣。
然而,它并没有澄清它对瞬态特性的立场。事实上,阐述该段的第二个要点听起来几乎是自相矛盾的。快速测试(带有"name“属性的简单"Foo”实体的新项目,使用多个foo保存文件,添加一个瞬态属性,再次运行,而foos全部加载,添加一个新foo,保存,关闭,重新打开)显示,实际上版本控制系统不考虑瞬态属性。
https://stackoverflow.com/questions/1734189
复制相似问题