我已实现Core数据以存储在我的App中。我需要使用FetchRequest和谓词执行复杂的访存,如下面的SQLite查询:
my_array.min(axis=0)
在这里,diagnostic_drug&drug是实体,其他是属性。
public Country findCountry(String countryname) {
Country foundCountry = null;
for (int i = 0; i < catalogue.length; i++) {
if (catalogue[i].getName().equals(countryname)) {
foundCountry = catalogue[i];
break;
}
}
return foundCountry;
}
Drug的“ id”属性等于Diagnosis_drug的“ drugId”属性。该查询是从Diagnosis_drug获取得分最高的药物,并与Drug实体进行内部联接以获取其详细信息。
答案 0 :(得分:0)
因此,我发现核心数据几乎没有限制。仅当两个不同的实体之间具有关联时,才可以对它们执行提取请求。即如果您在Person(entity_1)和他的手机(entity_2)之间具有一对一的关系,则要获取两者,我们需要对Person实体执行获取。要在Person上设置过滤器,我们将根据需要添加一个谓词,并在mobile上设置过滤器,我们将在同一谓词中的mobile属性上放置一个“ SUBQUERY”。如果两个实体没有关系,则可以解决。您将这两个实体作为新的Parent实体的子实体,并在新的Parent实体(See Reference!上执行访存)。但这仍然给我们留下了两个实体已经有其他父母的情况!这里没有关系,也没有共同的父实体。因此,这是核心数据的局限性。您需要分别对这两个实体执行提取。另外,核心数据提取不允许在查询谓词中进行计算(您需要在实体中维护一个额外的变量,并根据需要每次进行更新)。欢迎对我的发现进行任何更正。谢谢。