Che cosa sono le classi POCO in Entity Framework?


Migliore risposta

POCO è un semplice oggetto CLR (Common Language Runtime) . È fondamentalmente unentità in un dominio. Nel framework delle entità di solito è utile nel primo modello del codice non nel primo modello del database. Questa classe non eredita la funzionalità di alcun framework o tecnologia specifica. È una semplice classe pubblica e contiene solo proprietà e metodi. Questi metodi non implementano una logica persistente come il salvataggio e il recupero dei dati dal database. Queste classi sono anche chiamate classi Persistence Ignorant. Fondamentalmente, funge da livello per comunicare con le righe e le colonne della tabella del database.

Esempio di Poco Class

public class Group

{

public int ID {get; impostato; }

public string GroupName {get; impostato; }

membro pubblico ApplicationUser {get; impostato; }

public string GroupDescription {get; impostato; }

public ICollection ChatRooms {get; impostato; }

}

POCO si comporta meglio di DTO [Design]

A DTO ” Lunico scopo è trasferire lo stato e non dovrebbe avere alcun comportamento. Vedere la spiegazione di un DTO di Martin Fowler per un esempio delluso di questo modello.

Considerando che, A POCO segue le regole di OOP. Dovrebbe (ma non deve) avere lo stato e comportamento. POCO deriva da POJO, coniato da Martin Fowler [ anecdote here ]. Ha usato il termine POJO come un modo per rendere più sexy rifiutare le implementazioni EJB pesanti del framework. POCO dovrebbe essere usato nello stesso contesto in.Net. Non lasciare che i framework dettino il tuo object “s design.

Per saperne di più su .NET e Entity Framework, controlla il mio canale YouTube

Dot Net

Risposta

I POCO (semplici vecchi oggetti CLR) sono semplicemente entità del tuo dominio. Normalmente quando usiamo il framework delle entità le entità vengono generate automaticamente per te. Questo è fantastico ma sfortunatamente questi le entità sono intervallate da funzionalità di accesso al database che sono chiaramente contrarie al SOC (Separation of concern). I POCO sono entità semplici senza alcuna funzionalità di accesso ai dati ma forniscono comunque le funzionalità a tutti EntityObject funzionale ad esempio

  • Lazy loading
  • Cambia tracciamento

Ecco un buon inizio per questo

POCO Entity framework

Puoi anche generare POCOs così facilmente dal tuo progetto Entity Framework esistente utilizzando i generatori di codice.

Generatore di codice EF 5.X DbContext

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *