我有一个核心数据模型,使用数据库存储,包含具有经典父/子关系的实体.每个父项都有多个子项,每个子项都是单个父项,创建一个多级层次结构.
我想要做的是在获取请求中使用谓词来返回给定实体和根之间的所有实体的列表.
如果我在代码中执行此操作,我会在’父’链上工作,直到我点击根实体,但我想在谓词中执行此操作,以便搜索保留在数据库中.这将是搜索的一部分,因此需要相对较快.
这可能吗?
最佳答案 谓词是在关系图中硬连线以横向未知数量的对象.你必须具体地告诉它要遍历的实体和关系.你不能说,“在你达到零之前,从某种程度上说就是这样.”
过早优化是万恶之源.我不担心在活动对象中遍历关系的速度.核心数据比你预期的要快得多.在这种情况下进行优化,设置为获取故障,因此没有数据只加载关系,我认为你不会有速度问题.
顺便说一下,看看你的命名,实体是管理对象,因为类是实例.实体是具体的抽象,管理对象.实体仅是数据模型的属性.例如,在这种情况下,数据模型中可能只有一个自引用实体,可用于创建数百万个托管对象的图形.
您可以找到父实体,就像您找到超类一样,但实际上并不是您所询问的内容.