2009-06-22 8 views
10

Recientemente me he vuelto más negativa acerca de EF y no puedo evitar preguntarme si el verdadero problema es mi propio conocimiento sobre el tema. He visto muchos ejemplos simples/artificiales del uso de EF, especialmente en conjunción con MVC, pero todavía no he encontrado ejemplos reales de uso de EF y aprovechando toda la funcionalidad. Además, todos los intentos que he hecho hasta ahora para usar EF parecen haber sido borrados por déficits en el diseñador de VS2008 (como soporte para campos/columnas generados por el servidor) o por la necesidad de proporcionar resmas de código adicional para permitir la actualización los datos volvieron a la fuente (donde esperaba que esto fuera respaldado por EF).EF en la vida real, quiero creer (¿Alguien tiene buenos consejos para EF 1.0 (3.5) no triviales o 4.0 ejemplos?)

Para que realmente pueda considerar esto y tomar una decisión más educada, ¿alguien me puede indicar algunos ejemplos del uso de EF, con ASP.NET por ejemplo, en una situación de la vida real, como recuperar algunos relacionados datos de la fuente subyacente, actualizando esos datos y luego persistiendo esos cambios en la fuente. En cualquier ejemplo que pueda proporcionar, me gustaría poder ver solo los cambios realizados por el usuario que se envían de vuelta a la fuente en lugar de simplemente sobrescribir la versión actual.

También me gustaría ver algunos ejemplos de poder usar EF en una situación de servicio web/WCF donde nuevamente se recupera una entidad con objetos relacionados y cualquier cambio realizado se conserva en el almacén de datos.

Preferiría tantos ejemplos como sea posible para usar EF 1.0 (3.5) ya que esta es la versión que está actualmente disponible para uso de producción, pero también me interesaría cualquier ejemplo de EF 4.0 que pruebe que las cosas van a mejorar.

Quiero creer que EF es el camino a seguir. Me gusta especialmente la idea de tratar una base de datos como si fuera simplemente un conjunto de objetos relacionados (y con frecuencia he rodado mis propias versiones de esto en el pasado), pero parece que EF solo va tan lejos. Tengo un par de proyectos nuevos en el horizonte que involucran bases de datos bastante grandes y actualmente no puedo justificar el uso de EF aunque realmente me gustaría.

+1

No he trabajado con EF todavía, pero recomiendo que nunca se haga rodar su propio ORM, a menos que planee aprender más sobre los ORM. He usado Linq2Sql (que muchas personas dicen que está muerto gracias a Entity Framework) y es muy bueno para mis necesidades. –

+0

Sugiero trabajar esto un poco para obtener una pregunta real que pueda tener respuestas, o cambiar a la wiki de la comunidad. Creo que la verdadera pregunta aquí es "¿Alguien tiene buenos consejos para EF 1.0 (3.5) no triviales o 4.0 ejemplos?" –

+0

Dan, no he estado robando manualmente los ORM como clases dedicadas que representan datos de tablas y brindan la funcionalidad CRUD. –

Respuesta

1

Creo que pasará un tiempo antes de que EF alcance Hibernate.

+0

Me doy cuenta de que Hibernate está más establecido, aunque la exposición reciente a él ha señalado que también tiene peculiaridades. ¡Estoy particularmente interesado en investigar EF con más detalle en este momento, ya que estoy seguro de que debe ser más capaz que yo! –

+0

Descubrí que la mayoría de las peculiaridades más serias se pueden superar con el uso inteligente de las vistas. No obstante, lamento no poder ayudarte con tu pregunta específica. :( –

+0

Gracias de todos modos Spencer. Como he señalado a continuación, algunos de mis colegas ya están luchando con NHibernate, así que les diré que usen Google con vistas. –

0

He hecho una pregunta similar here que es específica de ASP.NET MVC. Básicamente, tengo la misma pregunta al respecto, ya que no he visto muchos ejemplos de "la vida real" sobre cómo funciona EF con un escenario web .NET.

+0

Sí, he visto la pregunta y parece que no obtuvieron muchos responde bien, aunque el proyecto de referencia EF4 mencionado por Andrew Peters (abajo) parece que puede ser una referencia a largo plazo (aún nada para EF1) –

1

No puedo proporcionarle el código, pero puedo contar mi experiencia. Recientemente probé linq a sql en un proyecto real. No estaba mal, pero no encajaba con el diseño impulsado por el dominio (o simplemente era demasiado tonto para que pareciera como me gustaría).

Intentó linq a las entidades. En resumen, desperdiciado ~ 2 días. Renuncié a mi esperanza después de las primeras veces que revisé las correlaciones de edición.

Adherido a NHibernate (porque no genera nada). Pero todos son decepcionantes con el apoyo de Sproc.

Quizás la próxima versión sea mejor. Por el momento, parece torpe para mí.

+2

Algunos colegas míos se hicieron cargo de un proyecto que involucraba a NHibernate y todo lo que escuché de ellos está llorando! De hecho, parece haberse vuelto tan malo para ellos que cuando se les pidió agregar un nuevo subsistema al proyecto optaron por implementar esto en EF1! Ahora todo lo que oigo es llanto y llanto! Creo que el mío La carne de vacuno personal con NHibernate es la falta de apoyo del diseñador y la posterior necesidad de generar a mano todos los objetos a lo largo de con el mapeo XML. También me dijeron (por mis colegas arriba) que el soporte de eliminación es muy pobre. –

+1

Prefiero escribir todos los objetos a mano debido al Diseño Dirigido por Dominio (aparentemente no hay ningún generador de código que pueda generar una lógica empresarial completa), así que eso es más como una función de NHibernate que no genera nada. El mapeo se hace a través de Fluiber NHibernate (es intuitivo, fuertemente tipado). El modo diseñador de cualquier cosa es una mala idea en general. Todavía no me he tenido problemas con la eliminación (pero tal vez eso sea probable, es difícil decirlo). –

0

Estoy buscando información sobre EF, y cuando me dirijo a aquí encontré la mayoría de las respuestas fechadas después del lanzamiento del EF4 CTP4.

Podría ser que alguien que lea mi respuesta diga que las funciones en el CTP4 también tienen fecha, así que sugeriría a cualquiera que esté mirando la implementación del marco de la entidad real que eche un vistazo al ADO.net Team Blog y verifique últimas noticias

Cuestiones relacionadas