Co to są klasy POCO w Entity Framework?


Najlepsza odpowiedź

POCO to zwykłe stare obiekty CLR (Common Language Runtime) . Zasadniczo jest to jednostka w domenie. W strukturze encji jest to zwykle pomocne w modelu najpierw koduj, a nie w pierwszym modelu bazy danych. Ta klasa nie dziedziczy funkcjonalności żadnej określonej platformy ani technologii. Jest to prosta klasa publiczna, która zawiera tylko właściwości i metody. Te metody nie implementują trwałej logiki, takiej jak zapisywanie i pobieranie danych z bazy danych. Te klasy są również nazywane klasami ignorancji trwałości. Zasadniczo działa jako warstwa do komunikacji z wierszami i kolumnami tabeli bazy danych.

Przykład klasy Poco

public class Group

{

public int ID {get; zestaw; }

public string GroupName {get; zestaw; }

public ApplicationUser Member {get; zestaw; }

public string Opis grupy {get; zestaw; }

public ICollection ChatRooms {get; zestaw; }

}

POCO zachowuje się lepiej niż DTO [Design]

A DTO ” Jedynym celem jest przekazanie stanu i nie powinno mieć żadnego zachowania. Zobacz objaśnienie DTO Martina Fowlera, aby zobaczyć przykład użycia tego wzorca. / p>

Natomiast POCO przestrzega zasad OOP. Powinien (ale nie musi) mieć stanu i zachowania. POCO pochodzi z POJO, wymyślonego przez Martina Fowlera [ anegdota ]. Użył terminu POJO, aby uczynić bardziej seksownym odrzucenie ciężkich implementacji EJB frameworka. POCO powinno być używane w tym samym kontekście w.Net. Nie pozwól, aby frameworki dyktowały projekt obiektu.

Aby dowiedzieć się więcej o .NET i frameworku Entity, odwiedź mój kanał YouTube

Dot Net

Odpowiedź

POCO (zwykłe stare obiekty CLR) to po prostu elementy Twojej domeny. Zwykle, gdy używamy struktury encji, jednostki są generowane automatycznie. To jest świetne, ale niestety te encje są przeplatane z funkcjonalnością dostępu do bazy danych, co jest wyraźnie sprzeczne z SOC (Separacja obaw). POCO to proste jednostki bez funkcji dostępu do danych, ale nadal zapewniają wszystkie możliwości EntityObject funkcjonalne ities takie jak

  • Leniwe ładowanie
  • Śledzenie zmian

Oto dobry początek

Struktura POCO Entity

Możesz również tak łatwo generować POCO z istniejącego projektu Entity Framework za pomocą generatorów kodu.

Generator kodu DbContext EF 5.X

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *