Ho una domanda sulla modellazione di una radice Entity \ Aggregate in DDD. Sto refactoring un progetto che utilizza Entity Framework e business logic come servizi, i servizi contengono molta logica che credo dovrebbe essere nelle entità in DDD.
public class Contractor
{
public int Id {get;set;}
public DateTime ContractStartDate {get;set;}
public DateTime ContractEnddate {get;set;}
public string PhoneNumber {get;set;}
public Address Address {get;set;}
/*Bunch of other properties */
public ICollection<Site> ContractorSites {get;set;}
}
public class Site
{
public int Id {get;set;}
/*Bunch of other properties */
}
Ora sto provando a modellare il contraente come entità. Il problema che sto affrontando è con la proprietà ContractorSites. Un appaltatore può avere uno o più siti a lui associati.
Ora, quando modifico un imprenditore come Entità, dovrei includere questa proprietà? Se includo questo significa che ogni volta che voglio recuperare i dettagli di un appaltatore dal database e creare questa entità (, dovrò anche recuperare i siti correlati?
La mia domanda si riduce a "dovremmo includere tutte le navi di relazione nell'entità del dominio?"