Entity Framework e "ViewModel"

1

In precedenza ho fatto una domanda su "Entity Framework e sheration layer" e ho scoperto che alcune persone usano un ViewModel per mostrare i loro dati nell'interfaccia utente.

Ad esempio se abbiamo una tabella "Persona" e una tabella "Indirizzo" e voglio mostrare una combinazione delle due tabelle. Vorrei quindi creare un ViewModel, chiamarlo PersonAddress e mostrarlo nell'interfaccia utente.

Ho alcune domande a riguardo:

  1. Come si salva l'oggetto "PersonAddress" nel database poiché non esiste nel mio contesto EF?
  2. Se volessi solo mostrare l'oggetto "Persona", creerei comunque un oggetto "ViewModel" identico a quello che EF crea per me (senza le proprietà specifiche EF del corso)
  3. Le persone usano la proprietà "EntityState" e il dosaggio diventa inutile se si interagisce solo con "ViewModel"?
posta Thomas 22.12.2011 - 13:42
fonte

1 risposta

6

How do you best save the "PersonAddress" object to the database since it does not exist in my EF context?

Non lo fai. Si salva un Person e l'allegato Address separatamente (in una transazione, se necessario). Il caricamento dei dati e il salvataggio dei dati possono anche essere considerati problemi diversi (vedere CQRS ).

If I only wanted to show the "Person" object, would I still create an identical "ViewModel" object to the one EF creates for me (without the EF specific properties of course)

Sì. Di nuovo, questo riguarda la separazione delle preoccupazioni.

Do people use the "EntityState" property and dosent it become useless if you only interact with the "ViewModel"?

Dipende da cosa stai facendo. Un ViewModel modella l'interfaccia utente, non i tuoi dati.

    
risposta data 22.12.2011 - 13:46
fonte

Leggi altre domande sui tag