Entity Framework 4 / POCO – ¿Por dónde empezar?

He estado progtwigndo por un tiempo y he usado LINQ-To-SQL y LINQ-To-Entities antes (aunque cuando uso entidades ha estado en una relación entidad / tabla 1-1, es decir, no muy diferente de L2SQL)

He estado leyendo mucho sobre Inversión de control, Unidad de trabajo, POCO y patrones de repository y me gustaría utilizar esta metodología en mis nuevas aplicaciones.

Donde estoy luchando es encontrar una guía de principiantes clara y concisa para EF4 que no asum el conocimiento de EF1.

Las preguntas específicas que necesito responder son:

Código primero / modelo primero? Pros / contras en lo que respecta a EF4 (es decir, ¿qué sucede si primero código, cambio el código en una fecha posterior y necesito regenerar mi modelo de base de datos? ¿Los datos se conservan y se transforman o eliminan?)

Asumiendo que voy primero al código (me gustaría ver cómo EF4 lo convierte en un esquema DB) ¿cómo empiezo realmente? Muy a menudo he visto artículos con diagtwigs de entidades que dicen “Así que este es mi modelo de entidad, ahora voy a …” – Desafortunadamente, no estoy seguro de si se crearon el modelo en el diseñador, se lo guardó en generar código y luego detuvo la generación de otro código automático -o– ¿Han codificado (POCO)? clases y de alguna manera los importó en la vista deisgner?

Supongo que lo que realmente necesito es entender de dónde viene la “magia” y cómo agregarla yo mismo si no solo estoy generando un modelo EF directamente desde un DB.

Soy consciente de que la pregunta es un poco vaga, pero no sé lo que no sé. Por lo tanto, cualquier aportación / corrección / aclaración es de agradecer.

Huelga decir que no espero que nadie se siente aquí y me enseñe EF. Solo me gustaría algunos buenos tutoriales / foros / blogs / etc. para entidades completas novatas

Estos artículos pueden ser de interés … la serie realmente se adentra en las ventajas y desventajas de un enfoque POCO.

http://blogs.msdn.com/b/adonet/archive/2009/05/21/poco-in-the-entity-framework-part-1-the-experience.aspx

http://blogs.msdn.com/b/adonet/archive/2009/05/28/poco-in-the-entity-framework-part-2-complex-types-deferred-loading-and-explicit-loading. aspx

http://blogs.msdn.com/b/adonet/archive/2009/06/10/poco-in-the-entity-framework-part-3-change-tracking-with-poco.aspx

En estos artículos, el autor menciona artículos futuros que describen las mejores prácticas en la implementación de los patrones de repository y unidad de trabajo, pero no puedo encontrarlos. Estos artículos están bien escritos y me gustaría leer más de este autor.

Me he encontrado con esto: http://blogs.msdn.com/adonet/pages/feature-ctp-walkthrough-code-only-for-the-entity-framework.aspx

Lo que le da paso a paso para el código primero. Requiere el CTP 3 para EF4 (descarga vinculada desde ese artículo).

Esto es bastante parecido a lo que estaba buscando (aunque idealmente una solución que no depende de un CTP hubiera sido preferible)

Le recomiendo que dedique media hora más o menos y genere un modelo EF1.0 estable en su VS actual. Eso te ayudará a comprender las metáforas y los conceptos de EF 4.0. Simplemente prepare un Cliente simple, Productos y Pedidos db … Recomiendo hacer los suyos propios y no usar Northwind.

Esta es una gran pregunta, pero difícil de mantener al día a medida que Entity Framework sigue madurando. Probablemente, el mejor lugar para comenzar que permanecerá actualizado en el futuro es la página EF de Microsoft .

Algunos otros enlaces que encontré útiles mientras buscaba en Google (se centró en Code First):

  • Comenzando con EF usando MVC Tutorial
  • Desarrollo de código primero con Entity Framework Video de TechEd 2010
  • Publicación de Scott Gu sobre el Desarrollo del Código Primero con EF4
  • MSDN Entity Framework 4.1 y 4.2

Puedes tomar el libro de Lerman o algo más simple como “mapeo relacional de objetos Pro linq”. Todos los conceptos siguen siendo los mismos con POCO, excepto que ahora debe deshabilitar la generación de códigos y asignarlos directamente a su modelo en edmx csdl (o crear su propio generador POCO). Todos los principios de mapeo son iguales también. De todos modos, en el tiempo de ejecución está trabajando con un proxy derivado de su objeto POCO, por lo que debería preocuparse por el soporte de interceptación (virtualización de sus propiedades POCO).

Aquí hay un recorrido en la Plantilla de POCO para Entity Framework que se veía bastante bien. También puede consultar el blog del equipo ADO.NET . Si desea comenzar desde el principio (EF v1.0) como base para su conocimiento de EF, el libro del Marco de Entidades de Progtwigción de Julia Lerman fue muy completo.

No tiene el representante para comentar una respuesta, pero aquí hay un seguimiento de la respuesta de Jinkinz:

Uso de los patrones de repository y unidad de trabajo con Entity Framework 4.0:

http://blogs.msdn.com/b/adonet/archive/2009/06/16/using-repository-and-unit-of-work-patterns-with-entity-framework-4-0.aspx

Julia Lerman tiene una buena serie de videos introductorios , de unos 10 minutos cada uno. Son introductorios, pero hay muchos consejos prácticos que eliminan obstáculos potenciales de aprendizaje. Me gustó especialmente su demostración de ver el SQL real usando SQL Server Profiler.

Si vas a utilizar cenarios desconectados, te recomiendo que leas el libro de Julie Lerman: “Programming DbContext”, en el Capítulo 4 especial.

Encontré muchos ejemplos en blogs, etc., pero casi todos están relacionados con cenarios conectados.

Yo también estoy comenzando. y este libro me ayudó mucho. Por cierto, compré sus tres libros.

Estaba buscando las mismas respuestas y me encontré con http://www.dotnetcurry.com/ShowArticle.aspx?ID=599

Al final del enlace, hay pocos enlaces que te ayudarán a avanzar con Entity Framework 4.

Espero que esto ayude

Wow, muchas respuestas. ¿Qué tal un ejemplo que contiene una versión ajustada de plantillas T4 que generan interfaces POCO + + repositorys en conjunto?

https://entityinterfacegenerator.codeplex.com