Я реализовал данные Core для хранения в моем приложении. Мне нужно выполнить сложные выборки, используя FetchRequest и предикат, как показано ниже SQLite запрос:
SELECT
diagnosis_drug.drug_id,
diagnosis_drug.weight_bracket_id,
score,
localscore,
(score + localscore) AS score,
drug.*
FROM diagnosis_drug
INNER JOIN drug
ON diagnosis_drug.drug_id = drug.id
WHERE diagnosis_drug.doctor_id = 3
AND diagnosis_id IN (29, 212)
AND score > 0
AND weight_bracket_id = 1
AND diagnosis_drug._d = 0
ORDER BY score DESC
здесь Diagnostic_drug & drug являются сущностями, а другие являются атрибутами.
Entity : Diagnosis_drug
Attributes :
diagnosisId - Int32
doctorId - Int32
drugId - Int32
score - Int32
localScore - Int32
Entity : Drug.
Attributes :
id : Int32
dosage : Int32
volume : Int32
genericName : String
formulation : String
doseType : String
duration : Int32
name : String
Атрибут "id" препарата равен атрибуту "drugId" Diagnosis_drug. Запрос состоит в том, чтобы получить лекарства с наибольшим количеством баллов от Diagnosis_drug, и внутреннее объединение сделано для объекта Drug, чтобы получить его детали.