¿Qué es POCO en Entity Framework? [cerrado]


81

Acabo de comenzar a aprender POCO pero no puedo entender su uso y sus ventajas. Incluso el siguiente enlace de stackoverflow no me ayudó.

que es Entity Framework con POCO

¿Alguien puede explicar el uso de POCO con un ejemplo simple?


5
Creo que la mejor manera de entenderlo es con un ejemplo: pratapreddypilaka.blogspot.com.au/2011/12/…
Jeremy Thompson

No estoy seguro de qué respuesta espera que no se haya dado en su enlace. Si aún no comprende después de leerlos, tal vez, como sugiere Jeremy, necesite aprender haciendo.
Ant P

Respuestas:


101

Los POCO (objetos CLR simples y antiguos) son simplemente entidades de su dominio. Normalmente, cuando utilizamos el marco de entidades, las entidades se generan automáticamente para usted. Esto es genial, pero desafortunadamente estas entidades están intercaladas con la funcionalidad de acceso a la base de datos, lo que claramente va en contra del SOC (Separación de preocupaciones). Los POCO son entidades simples sin ninguna funcionalidad de acceso a datos, pero aún brindan las capacidades de todas las funcionalidades de EntityObject como

  • Carga lenta
  • Seguimiento de cambios

Aquí hay un buen comienzo para esto

Marco de la entidad POCO

También puede generar POCO tan fácilmente a partir de su proyecto de marco de entidad existente utilizando generadores de código.

Generador de código EF 5.X DbContext


2
Su enlace "POCO Entity framework MSDN Part-I" está roto. ¿Es esto ahora? msdn.microsoft.com/en-us/library/dd456853(v=vs.100).aspx
Aske B.

@AskeB. gracias actualizo el enlace. ese es el
indicado

Siempre me he referido a los POCO como "objetos C antiguos y simples", ¿esto está mal o simplemente es diferente?
Cabestro

2
@Halter "Objetos simples de C #", o (como Prabhu) dijo "Objetos CLR" ya que el mismo concepto se aplica a VB y F #.
Nate Barbettini
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.