Özellik olarak başka bir nesneyi olan bir nesneyi nasıl sorgularım? Mülkün değerlerini de almam gerek. İşte benim model:Android sqllite, başka bir nesnenin özelliği olan bir nesneyi sorgulama
public class Department {
public int DeptId;
public string DeptName;
}
public class Employee {
public int Id;
public string Name;
public int DeptId;
public Department Department;
}
Bir C# arka plandan geliyorum, ben Entity Framework kullanarak C# ile bu yapabilirdi. Şimdi bu model çalışıyor gibi görünüyor ama nesneler için bir sqllite işlevselliği eklediğimde, nasıl sorgulanacağından emin değilim.
İşte benim ilk denemede, ama bu en iyi yolu
public List<Employee> getAllEmployeesWithDepartments(){
List<Employee> employees = new ArrayList<>();
SQLiteDatabase db = this.getReadableDatabase();
Cursor res = db.rawQuery("SELECT * FROM Employee e LEFT JOIN Department d on e.DeptId = d.Id" , null);
if(res.moveToFirst()){
do{
Employee emp = new Employee();
emp.Id = res.getInt(res.getColumnIndex("Id"));
emp.Name = res.getString(res.getColumnIndex("Name"));
Department dep = new Department();
dep.Id = res.getInt(res.getColumnIndex("Id"));
dep.Name = res.getString(res.getColumnIndex("Name"));
emp.Department = dep;
employees.add(emp);
}while (res.moveToNext());
}
return employees;
}