Mikä on POCO-luokat Entity Frameworkissa?


Paras vastaus

POCO on tavallinen vanha CLR (Common Language Runtime) -objekti. Se on pohjimmiltaan toimialue verkkotunnuksessa. Entiteettikehyksessä on yleensä hyödyllistä koodin ensimmäinen malli, ei tietokanta ensimmäinen malli. Tämä luokka ei peri minkään tietyn kehyksen tai tekniikan toiminnallisuutta. Se on yksinkertainen julkinen luokka ja sisältää vain ominaisuuksia ja menetelmiä. Nämä menetelmät eivät toteuta pysyvää logiikkaa, kuten tietojen tallentamista ja noutamista tietokannasta. Näitä luokkia kutsutaan myös pysyvyystietämättömiksi luokiksi. Pohjimmiltaan se toimii kerroksena kommunikoidessaan tietokantataulukon rivien ja sarakkeiden kanssa.

Poco-luokan esimerkki

julkisen luokan ryhmä

{

public int ID {get; aseta; }

julkinen merkkijono GroupName {get; aseta; }

julkinen ApplicationUser-jäsen {get; aseta; }

public string GroupDescription {get; aseta; }

public ICollection ChatRooms {get; aseta; }

}

POCO käyttäytyy paremmin kuin DTO [Suunnittelu]

DTO ” Ainoa tarkoitus on siirtää tila, eikä sillä saa olla mitään käyttäytymistä. Katso Martin Fowlerin ”s selitys DTO: sta esimerkki tämän mallin käytöstä.

POCO noudattaa OOP: n sääntöjä. Sillä pitäisi olla (mutta sen ei tarvitse) olla tila ja . POCO tulee POJO: lta, jonka on keksinyt Martin Fowler [ anekdootti täällä ]. Hän käytti termiä POJO keinona tehdä seksikkäämmäksi hylätä kehysten raskaat EJB-toteutukset. POCO: ta tulisi käyttää samassa yhteydessä. Netissä. Älä anna kehysten sanella objektin suunnittelu.

Jos haluat tietää enemmän .NET- ja Entity-kehyksistä, tutustu youtube-kanavaani

Dot Net

vastaus

POCO (tavalliset vanhat CLR-objektit) ovat yksinkertaisesti verkkotunnuksesi entiteettejä. Normaalisti kun käytämme entiteettikehystä, entiteetit luodaan sinulle automaattisesti. Tämä on hieno, mutta valitettavasti nämä entiteetit ovat täynnä tietokannan käyttöominaisuuksia, jotka ovat selvästi SOC: n (erillinen huolenaihe) vastaisia. POCO: t ovat yksinkertaisia ​​entiteettejä, joilla ei ole tiedonsiirtotoimintoja, mutta tarjoavat kuitenkin kaikki ominaisuudet EntityObject toimiva kuten

  • Laiska lataus
  • Muuta seurantaa

Tässä on hyvä alku tälle

POCO-entiteettikehys

Voit myös luoda POCO: ita niin helposti olemassa olevasta Entity-kehysprojektistasi koodigeneraattoreiden avulla.

EF 5.X DbContext -koodigeneraattori

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *