¿Cuál es la diferencia entre escribir una clase usando Code First Approch o POCO?

EF y ORM.

Recientemente me di cuenta de que es posible usar POCO para tener clases limpias no conectadas con el código generado automáticamente por EF.

Vi la nueva versión de EF 4.1 y el uso del enfoque Code First y DbContext.

Mis preguntas:

  • ¿Cuál es la diferencia entre el enfoque Code First y el enfoque Poco?
  • ¿Podemos usar Code First (DbContext y DbSet) en lugar del patrón POCO + Repository?

Gracias por su tiempo en esto.

preguntado el 27 de agosto de 11 a las 18:08

1 Respuestas

Son cosas completamente diferentes y puedes usarlas juntas.

POCO significa que sus clases de entidad son clases "normales", que no dependen de ninguna capa de ORM específica.

A DbContext es un objeto que le permite acceder a la base de datos de una manera orientada a objetos (como ObjectContext en versiones anteriores de EF).

Echa un vistazo a este tutorial por ejemplo.

Respondido 27 ago 11, 22:08

Gracias Thomas por tu comentario sobre esto. - GibboK

Comencé a leer el artículo y dice: CÓDIGO PRIMERO Defina los objetos de su modelo simplemente escribiendo "clases antiguas simples" sin clases base requeridas Use un enfoque de "convención sobre la configuración" que permita la persistencia de la base de datos sin configurar nada explícitamente - GibboK

Entonces, estoy preocupado por ese enfoque de First Code de alguna manera, ¿cuán similar a poco? Estoy en lo cierto? - GibboK

@GibboK: El código primero es la forma de asignar clases a la base de datos donde primero escribe las clases y genera la base de datos a partir de ellas. Esas clases pueden ser persistentes ignorantes = POCO. - Ladislav Mrnka

ok, entiendo su punto .. entonces, ¿dónde agrego el código real para la persistencia? ¿Repositorio? Entonces, con EF 4.1, ¿podría evitar usar un repositorio y usar en su lugar DbContext y DbSet? Gracias por su tiempo en esto - GibboK

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.