Mi az a POCO osztály az Entity Framework-ben?


Legjobb válasz

POCO sima régi CLR (Common Language Runtime) objektumok. Alapjában véve egy entitás egy tartományban. Az entitás keretrendszerben általában hasznos a kód első modellben, nem az adatbázis első modellben. Ez az osztály nem örökli egy adott keret vagy technológia funkcionalitását. Ez egy egyszerű nyilvános osztály, és csak tulajdonságokat és módszereket tartalmaz. Ezek a módszerek nem valósítják meg a tartós logikát, például az adatok mentését és visszakeresését az adatbázisból. Ezeket az osztályokat perzisztencia figyelmen kívül hagyó osztályoknak is nevezik. Alapvetően rétegként működik, hogy kommunikáljon az adatbázis tábla soraival és oszlopaival.

Poco osztály példa

nyilvános osztály Csoport

{

public int ID {get; készlet; }

public string GroupName {get; készlet; }

public ApplicationUser Member {get; készlet; }

public string GroupDescription {get; készlet; }

public ICollection ChatRooms {get; készlet; }

}

A POCO jobban viselkedik, mint a DTO [Design]

A DTO ” s egyetlen célja az állapot átvitele, és semmilyen viselkedése nincs. Lásd Martin Fowler “s magyarázatát a DTO-ra példát a minta használatára.

Míg egy POCO betartja az OOP szabályait. Ennek (de nem kell) állapotának és viselkedéssel kell rendelkeznie. A POCO a POJO-ból származik, Martin Fowler alkotta meg [ itt anekdota ]. A POJO kifejezést használta arra, hogy szexuálisabbá tegye a nehéz EJB-megvalósítások elutasítását. A POCO-t ugyanabban a kontextusban kell használni a .Net-ben. Ne hagyja, hogy a keretrendszerek diktálják a objektum kialakítása.

Ha többet szeretne megtudni a .NET-ről és az Entity frameworkről, nézze meg a youtube csatornámat.

Dot Net

Válasz

A POCO-k (egyszerű régi CLR-objektumok) egyszerűen a domain entitásai. Általában az entitás-keretrendszer használatakor az entitások automatikusan generálódnak az Ön számára. Ez nagyszerű, de sajnos ezek az entitások olyan adatbázis-hozzáférési funkciókkal vannak tarkítva, amelyek egyértelműen ellentétesek az SOC-val (az aggodalom elkülönítése). A POCO-k egyszerű entitások, mindenféle adatelérési funkció nélkül, de az összes képességet megadják EntityObject funkcionális olyan dolgok, mint

  • Lusta betöltés
  • Változás követése

Itt egy jó kezdet ehhez

POCO entitás keretrendszer

A Code generátorok segítségével olyan könnyen létrehozhat POCO-kat a meglévő Entity keretrendszerből is.

EF 5.X DbContext kódgenerátor

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük