He estado programando durante un tiempo y he usado LINQ-To-SQL y LINQ-To-Entities anteriormente (aunque cuando usé entidades ha estado en una relación Entidad / Tabla 1-1, es decir, no muy diferente a L2SQL)
He estado leyendo mucho sobre los patrones de inversión de control, unidad de trabajo, POCO y repositorio y me gustaría utilizar esta metodología en mis nuevas aplicaciones.
Donde estoy luchando es encontrar una guía para principiantes clara y concisa para EF4 que no asume el conocimiento de EF1.
Las preguntas específicas que necesito responder son:
Código primero / modelo primero? Pros / contras con respecto a EF4 (es decir, ¿qué sucede si hago el código primero, cambio el código en una fecha posterior y necesito regenerar mi modelo de base de datos? ¿Los datos se conservan, transforman o descartan?)
Suponiendo que voy a usar el código primero (me gustaría ver cómo EF4 convierte eso en un esquema de base de datos), ¿cómo empiezo realmente? Muy a menudo he visto artículos con diagramas de entidad que dicen "Así que este es mi modelo de entidad, ahora voy a ..." - Desafortunadamente, no estoy claro si crearon el modelo en el diseñador, lo guardaron en generar código y luego detuvo cualquier generación de auto-código adicional -o-- ¿Han codificado (POCO)? clases y de alguna manera los importaron a la vista de diseño?
Supongo que lo que realmente necesito es comprender de dónde viene la "magia" y cómo agregarla yo mismo si no solo estoy generando un modelo EF directamente desde una base de datos.
Soy consciente de que la pregunta es un poco vaga, pero no sé lo que no sé, por lo que agradezco cualquier aporte / corrección / aclaración.
No hace falta decir que no espero que nadie se siente aquí y me enseñe EF: me gustaría tener algunos buenos tutoriales / foros / blogs / etc. para novatos de entidad completa
Respuestas:
Estos artículos pueden ser de interés ... la serie realmente aborda 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 futuros artículos que describen las mejores prácticas para implementar patrones de Repositorio 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.
fuente
Me he encontrado con esto: http://blogs.msdn.com/adonet/pages/feature-ctp-walkthrough-code-only-for-the-entity-framework.aspx
Lo que te 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 buscaba (aunque lo ideal sería una solución que no se base en un CTP)
fuente
Le recomiendo que tome media hora más o menos y genere un modelo EF1.0 estable en su VS actual. Eso lo ayudará a comprender las metáforas y los conceptos de EF 4.0. Simplemente cree un simple Cliente, Productos y Pedidos db ... Recomiendo hacer el suyo propio y no usar Northwind.
fuente
Esta es una gran pregunta, pero difícil de mantener actualizada a medida que Entity Framework continúa madurando. Probablemente el mejor lugar para comenzar que se mantendrá actualizado en el futuro es la página EF de Microsoft .
Algunos otros enlaces que encontré útiles mientras buscaba en Google (centrado en Code First):
fuente
Puede 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 desactivar la generación de código y asignarla directamente a su modelo en edmx csdl (o crear su propio generador de POCO). Todos los principios de mapeo son los mismos también. De todos modos, en tiempo de ejecución, está trabajando con un proxy que se deriva de su objeto POCO, por lo que debe preocuparse por el soporte de intercepción (virtualización de sus propiedades POCO).
fuente
También hay estos tutoriales:
fuente
Aquí hay un tutorial sobre la plantilla 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, encontré el libro de Marco de Entidad de Programación de Julia Lerman muy completo.
fuente
No tenga el representante para comentar una respuesta, pero aquí hay un seguimiento de la respuesta de Jinkinz:
Uso de patrones de repositorio 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
fuente
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 algunos obstáculos potenciales de aprendizaje. Me gustó especialmente su demostración de ver el SQL real usando SQL Server Profiler.
fuente
Si va a usar cenarios desconectados, le recomiendo que lea el libro de Julie Lerman: "Programming DbContext", en el Capítulo especial 4.
Encontré muchos ejemplos en blogs, etc., pero casi todos tratan sobre cenarios conectados.
Yo también estoy empezando. y estos libros me ayudaron mucho. Por cierto, le compré tres libros.
fuente
Estaba buscando las mismas respuestas y encontré http://www.dotnetcurry.com/ShowArticle.aspx?ID=599
Al final del enlace, hay pocos enlaces que lo llevarán a rodar con Entity Framework 4.
Espero que esto ayude
fuente
Wow, muchas respuestas. ¿Qué tal un ejemplo que contiene una versión modificada de plantillas T4 que generan POCO + interfaces + repositorios por completo?
https://entityinterfacegenerator.codeplex.com
fuente