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
}
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.
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
A Code generátorok segítségével olyan könnyen létrehozhat POCO-kat a meglévő Entity keretrendszerből is.