Desidero utilizzare Entity Framework Code-first per un nuovo progetto. Così ho deciso di fare qualche ricerca e di creare qualche demo in modo che io possa vedere come sta andando. Attraverso, ho un grosso problema o probabilmente qualcosa che non mi è chiaro che coinvolge il modo in cui la mappa del codice dell'entità viene prima mappata alle entità e alla progettazione guidata dal dominio.In che modo le mappature Code-First di Entity Framework riflettono la progettazione basata sul dominio?
Come si costruisce un'applicazione, definiamo le entità di dominio. (definiamo gli aggregati root e creiamo repository per loro a seconda della situazione aziendale da ciò che ho ascoltato)
Va bene, ma il mapping di Entity Framework Code-First sembra funzionare come un modo relazionale tra entità. Quindi, come possono coesistere entrambi?
Per fare un esempio (Pensando a dominio lato driven design):
ufficialecontieneJournalEntycontienecompiti, problemi, note
parole italiche sono entità. In un certo senso, dopo l'analisi, direi che il journal è la radice aggregata del journal aggregato e del journalentry poiché si tratta di una composizione diretta. Ogni attività contiene un valore orario per sapere quante ore sono state impiegate per terminare i compiti, quindi c'è un modo per calcolare le ore totali e anche il salario che ne deriva. La rivista ha la proprietà della tariffa oraria.
Le altre entità sono ciascuna una radice aggregata e potrebbero avere un riferimento al journalentry in modo da sapere dove appartengono compiti, note e problemi.
Ma il problema viene qui .. come la mappatura Code-First di Entity Framework può riflettere questo? Da una visione intuitiva diremmo che il journal contiene una voce di diario e che la voce di diario contiene note, problemi e attività. Ma dal punto di vista DDD probabilmente non è il caso. Correggimi se sbaglio, ma il codice funziona come un database relazionale.
Quindi, come dovremmo mappare l'esempio sopra in code-first?
Grazie mille.