Cześć, tytuł nie za bardzo chyba wyjaśnia o co mi chodzi.
Próbuję ogarnąć jedną rzecz. Załóżmy, że mamy klasę Student:
public class BaseEntity
{
public UInt64 Id { get; private set; }
}
public class Student: BaseEntity
{
public string Name { get; private set; }
public School School { get; private set; }
}
No i jakąś klasę School:
public class School: BaseEntity
{
public string Name { get; private set; }
public string Address { get; private set; }
}
I teraz mamy taką bazę danych:
students (id, school_id, name)
schools (id, name, address)
I teraz, jeśli chcę mieć info o studentach, mogę skorzystać z wzorca repozytorium (nie używam żadnego ORMa) i generalnie jedno zapytanie i mam studenta.
Ale co, jeśli chcę pobrać WSZYSTKIE informacje o studencie, również te o jego szkole. Normalnie można to zrobić jednym SELECTem z JOINem. Ale jak tu powinna wyglądać warstwa danych? Czy mam mieć do tego jakieś osobne repozytorium, czy repozytorium StudentRepository powinno mieć dodatkową metodę np: "GetStudentWithSchool"?