Ce sunt clasele POCO în Entity Framework?


Cel mai bun răspuns

POCO este simplu vechi obiecte CLR (Common Language Runtime) . Este practic o entitate dintr-un domeniu. În cadrul entității este de obicei util în primul model de cod, nu în primul model de bază de date. Această clasă nu moștenește funcționalitatea unui cadru sau a unei tehnologii specifice. Este o clasă publică simplă și conține doar proprietăți și metode. Aceste metode nu implementează logică persistentă, cum ar fi salvarea și extragerea datelor din baza de date. Aceste clase sunt, de asemenea, numite clase de ignoranță a persistenței. Practic, acționează ca un strat pentru a comunica cu rândurile și coloanele tabelului bazei de date.

Exemplu de clasă Poco

public class Group

{

public int ID {get; a stabilit; }

șir public GroupName {get; a stabilit; }

public ApplicationUser Member {get; a stabilit; }

șir public GroupDescription {get; a stabilit; }

public ICollection ChatRooms {get; a stabilit; }

}

POCO se comportă mai bine decât DTO [Design]

A DTO ” Singurul scop este de a transfera starea și nu ar trebui să aibă niciun comportament. A se vedea Martin Fowler „s explicația unui DTO pentru un exemplu de utilizare a acestui model.

Întrucât, A POCO respectă regulile OOP. Ar trebui (dar nu trebuie) să aibă un comportament de stare și . POCO provine din POJO, inventat de Martin Fowler [ anecdotă aici ]. El a folosit termenul POJO ca o modalitate de a face mai sexy să respingă implementările EJB grele de cadru. POCO ar trebui să fie utilizat în același context în.Net. Nu lăsați cadrele să vă dicteze designul obiectului.

Pentru a afla mai multe despre .NET și cadrul Entity, verificați canalul meu YouTube

Dot Net

Răspuns

POCO-urile (obiecte CLR vechi simple) sunt pur și simplu entități ale domeniului dvs. În mod normal, când folosim cadrul de entități, entitățile sunt generate automat pentru dvs. Acest lucru este extraordinar, dar din păcate entitățile sunt intercalate cu funcționalitatea de acces la baze de date, care este în mod clar împotriva SOC (Separarea de îngrijorare). POCO-urile sunt entități simple, fără nici o funcționalitate de acces la date, dar oferă totuși capabilităților toate EntityObject funcțional lucruri precum

  • Încărcare leneșă
  • Urmărirea modificărilor

Iată un început bun pentru acest lucru

POCO Entity framework

De asemenea, puteți genera POCO atât de ușor din proiectul de framework Entity existent folosind generatoare de cod.

Generator de coduri EF 5.X DbContext

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *