Was sind POCO-Klassen in Entity Framework?


Beste Antwort

POCO ist ein einfaches altes CLR-Objekt (Common Language Runtime) . Es ist im Grunde eine Entität in einer Domäne. Im Entity-Framework ist es normalerweise im Code-First-Modell hilfreich, nicht im Datenbank-First-Modell. Diese Klasse erbt nicht die Funktionalität eines bestimmten Frameworks oder einer bestimmten Technologie. Es ist eine einfache öffentliche Klasse und enthält nur Eigenschaften und Methoden. Diese Methoden implementieren keine persistente Logik wie das Speichern und Abrufen von Daten aus der Datenbank. Diese Klassen werden auch als Persistence Ignorant-Klassen bezeichnet. Grundsätzlich fungiert es als Ebene für die Kommunikation mit den Zeilen und Spalten der Datenbanktabelle.

Beispiel für eine Poco-Klasse

öffentliche Klasse Gruppe

{

public int ID {get; einstellen; }

öffentliche Zeichenfolge GroupName {get; einstellen; }

public ApplicationUser Member {get; einstellen; }

öffentliche Zeichenfolge GroupDescription {get; einstellen; }

public ICollection ChatRooms {get; einstellen; }

}

POCO verhält sich besser als DTO [Design]

Ein DTO “ Der einzige Zweck besteht darin, den Status zu übertragen, und sollte kein Verhalten aufweisen. Ein Beispiel für die Verwendung dieses Musters finden Sie in Martin Fowlers Erläuterung eines DTO / p>

Ein POCO folgt den Regeln von OOP. Es sollte (muss aber nicht) den Status und haben. POCO stammt von POJO, geprägt von Martin Fowler [ Anekdote hier ]. Er verwendete den Begriff POJO, um es sexier zu machen, die Framework-schweren EJB-Implementierungen abzulehnen. POCO sollte im selben Kontext in.Net verwendet werden. Lassen Sie sich nicht von Frameworks diktieren Objektdesign.

Um mehr über .NET und das Entity Framework zu erfahren, besuchen Sie meinen YouTube-Kanal

Dot Net

Antwort

POCOs (einfache alte CLR-Objekte) sind einfach Entitäten Ihrer Domain. Wenn wir das Entity-Framework verwenden, werden die Entitäten normalerweise automatisch für Sie generiert. Dies ist großartig, aber leider diese Entitäten sind mit Datenbankzugriffsfunktionen durchsetzt, die eindeutig gegen den SOC (Separation of Concern) verstoßen. POCOs sind einfache Entitäten ohne Datenzugriffsfunktionen, bieten jedoch weiterhin alle Funktionen EntityObject funktional ities wie

  • Faules Laden
  • Tracking ändern

Hier ist ein guter Anfang für dieses

POCO-Entitätsframework

Sie können POCOs auch so einfach aus Ihrem vorhandenen Entitätsframeworkprojekt mithilfe von Codegeneratoren generieren.

EF 5.X DbContext-Codegenerator

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.