¿Qué es Entity Framework con POCO?




 ¿Cuál es el beneficio de usar POCO? No entiendo el significado de la persistencia de la ignorancia, ¿qué significa esto? ¿Que el objeto poco no puede exponer cosas como guardar? No puedo envolver mi cabeza alrededor de este POCO que hay un montón de zumbido alrededor. 

 ¿Cuál es la diferencia con las entidades generadas EF y POCO?
POCO significa "Plain Old C # Object" u "Plain Old CLR Object", dependiendo de a quién le preguntes. Si un marco o API indica que opera en POCO's, significa que le permite definir su modelo de objetos de manera [idiomática](http://www.google.com/search?hl=enl&q=define%3A+idiomatically) sin tener que hacer que sus objetos hereden de clases base específicas. En términos generales, los marcos que funcionan en POCO le permiten mayor libertad y control sobre el diseño e implementación de sus clases, ya que tienen menos requisitos para funcionar correctamente. 

 La ignorancia persistente significa que, en la medida de lo posible, cualquier cosa en su código que opera en la capa de lógica empresarial o superior no sabe nada sobre el diseño real de la base de datos, qué motor de base de datos está ejecutando, o cómo o cuándo se recuperan o persisten los objetos a la base de datos. En el caso del MEF, la ignorancia de la persistencia se logra trabajando en los POCO y utilizando LINQ para realizar consultas (es decir, no es necesario que el usuario cree ninguna consulta SQL para recuperar los objetos deseados). 

 Es una pregunta abierta, pero en general está de acuerdo en que, en la mayoría de las circunstancias, los objetos de dominio (u objetos de negocio, en cualquier caso, los POCO mencionados anteriormente) deben ignorar la lógica de persistencia. Es decir, en lugar de llamar a `MyBusinessObject.Save()` , tiene un administrador de IO o una clase de adaptador, y llama a `Manager.Save(MyBusinessObject)` . De esta manera, evita exponer la semántica de persistencia en sus objetos de negocios: de esta manera, obtiene una mejor separación de las preocupaciones.
no es de preocuparse. segun algunas teorias psicologicas... se llaman objetos de transicion. son objetos q estuvieron con ellos en lugares o experiencias seguras, tranquilas o satisfactorias. al crecer su inconsciente cree q teniendo aun esos objetos, todas las experiencias van a ser buenas. hay gente que aun tiene sus ositos de peluche, sus almohadas de niño o alguna manta. lo grave seria q si en alguna ocasion no lo tengas y eso no afecte tu desarrollo como adulto. *Nota: la respuesta se proporcionó en un comentario en la pregunta original. Solo le estoy agregando un poco aquí, para hacerlo más visible y claro.* 





 Entity Framework obviamente asigna clases de C # a tablas de bases de datos a través de propiedades que representan las distintas columnas en cada tabla. Ahora, si el tipo de datos de una de estas propiedades no es compatible con el tipo de datos de su columna correspondiente en la base de datos, obtendrá una `System.InvalidCastException` cuando intente recuperar algo de esa tabla, incluso si la propiedad no coincide no está directamente involucrada en la búsqueda 

 En la pregunta, la consulta fue: 


```
User user = context.Users.First(i => i.UserId == id);

```
  No importa que tanto `id` como su propiedad correspondiente `UserId` sean válidas y compatibles entre sí aquí, porque lo que se está buscando es una instancia de toda la clase de `User` . 

 Aparentemente, el tipo de alguna otra propiedad en el `User` es incompatible con el tipo una columna con el mismo nombre en la tabla de `user` en la base de datos, por lo que el intento de mapearlo arroja la excepción anterior. <p>los iconos son notoriamente ineficaces como etiquetas, y son muy difíciles de interpretar correctamente sin capacitación o experiencia. para la mayoría de las situaciones, los usuarios aprenden mejor las interpretaciones correctas solo con texto que con íconos solos. <sub>ver: wiedenbeck, s (1999). el uso de iconos y etiquetas en un programa de aplicación de usuario final: un estudio empírico de aprendizaje y retención. comportamiento y tecnología de la información, 18 (2), p68-82.</sub></p><p>los íconos son especialmente malos para cualquier cosa abstracta, como factura u oferta, ya que las cosas abstractas generalmente no tienen una imagen visual sólida (tanto la factura como la oferta podrían representarse como documentos en papel, pero ¿cómo los distinguiría?). del mismo modo, los iconos son particularmente malos para las acciones (por ejemplo, guardar, publicar); es difícil mostrar claramente un proceso con una imagen. sí, los iconos se usan todo el tiempo en las barras de herramientas para las acciones, pero las barras de herramientas estaban destinadas a expertos, y sin embargo, los usuarios se confunden con frecuencia (en promedio, <a href="https://web.archive.org/web/20130207024524/http://www.humanfactors.com/downloads/askericarchivebusiness2004.asp">los usuarios conocen solo seis elementos de la barra de herramientas de word</a> después de usar word regularmente por <em> dos años </em>).</p><p>los iconos pueden ahorrar espacio sobre el texto, pero al precio del reconocimiento. para iconos pequeños, como 16x16 píxeles, es muy difícil para los usuarios incluso reconocer de qué se supone que son una imagen, y mucho menos qué se supone que representa la imagen. un usuario que conozco pensó que el icono de "disco" para guardar era una imagen de un televisor. (era lo suficientemente mayor como para saber qué era un disquete). personalmente utilicé word durante años pensando que el ícono track changes era una especie de rosetta stone estilizada. a los usuarios expertos les resulta más fácil <a href="http://www.uie.com/brainsparks/2006/02/20/orbitz-cant-get-a-date/">confíe en la posición física memorizada</a> de los controles de la barra de herramientas en lugar de las etiquetas de los iconos para elegir un control. los íconos más grandes (por ejemplo, al menos 32 por 32 píxeles) pueden ayudar al reconocimiento, pero ocupan tanto espacio que es mejor usar el espacio para una etiqueta de texto clara. si el espacio es limitado, a menudo es mejor usar texto abreviado que iconos.</p><p>es extraordinariamente difícil acertar con los íconos. no intente desarrollar un nuevo icono sin extensas iteraciones de pruebas de usuario. incluso entonces, puedes fallar. los diseñadores de microsoft intentaron todo para hacer íconos interpretables para la barra de herramientas de outlook antes <a href="http://blogs.msdn.com/jensenh/archive/2005/11/01/487661.aspx">renunciar y seguir con etiquetas de texto</a> en los controles clave.</p><p>las etiquetas de iconos también dificultan el soporte técnico (por ejemplo, "haga clic en la hoja amarilla con una marca de verificación azul", en lugar de "haga clic en" aceptar "").</p><p>como regla general, los íconos solo deben permitirse cuando se aplican al menos dos de las siguientes tres condiciones:</p><ol> <li> <p>el espacio es muy limitado (es decir, demasiado pequeño para texto solo).</p> </li> <li> <p>los iconos están estandarizados (por ejemplo, la imagen del disquete para guardar)</p> </li> <li> <p>el ícono representa un objeto con un fuerte atributo análogo físico o visual (por ejemplo, un ícono de impresora para acceder a los atributos de la impresora, o un rectángulo rojo para establecer un fondo de página rojo).</p> </li> </ol><p>la información sobre herramientas es necesaria para los iconos cuando se usan solos, pero son un mal sustituto de las etiquetas de texto. sus usuarios no deberían tener que usar su aplicación buscando cosas. el hecho de que las etiquetas de texto nunca necesiten información sobre herramientas gráficas es una pista bastante buena de que el texto es mejor que los iconos.</p><p>si el espacio lo permite, los iconos combinados con texto son los mejores. (creo que hubo investigaciones que muestran esto desde fines de la década de 1980, pero no puedo encontrarlo). el uso selectivo de iconos con texto hace que ciertos elementos se destaquen más o agreguen interés visual. también puede mejorar la escalabilidad de los elementos, pero las buenas etiquetas de texto también pueden hacerlo. se sabe que los usuarios piensan subjetivamente que una aplicación es más fácil si tiene íconos, incluso cuando en realidad no mejoran el rendimiento (ver wiedenbeck, 1999 citado anteriormente), por lo que esa es otra razón para combinar íconos y texto.</p><p>por lo general, veo el ícono arriba o a la izquierda de la etiqueta de texto. no creo que sea necesariamente inherentemente mejor que las alternativas, pero es una convención que también debes seguir si tienes controles uno al lado del otro para que el usuario pueda confiar en la experiencia para saber qué etiqueta de texto va con cada ícono.</p> las personas normales aunque lo nieguen tienen un pequeño porcentaje de homosexualidad y aunque digan rotundamente gustar de su género opuesto, habrá esa pequeña espina diciéndoles "wooow se ve atractiv@" pero siempre hay su consciencia hetero que les dice "oye, no, no eres así, reacciona [inserte auto cachetada aquí]", es esto lo que detienen a las personas de no experimentar con alguien del mismo sexo y puede que no terminen haciendo "sexo" como tal sino puede haber roces, caricias y/o besos de los cuales no pueden significar nada, ya cuando la persona desee tener relaciones carnales, ahí la cosa cambia y habrá la latente prueba de que es homo o mínimo bisexual...ahora bien, me siento totalmente atraído por las mujeres, me encantan y me gustaría tener una relación amorosa con una de ellas pero ha habido momentos en los cuales he sentido parcialismo por hombres y quiero aclarar que no me atraen para nada los hombres, solo pasa cuando veo porno, cuando salgo a la calle veo mucho a las mujeres (bueno, no para ser un pervertido acosador, no) y son mi mayor punto focal por sus exuberantes atributos o por sus labios (claro, si son gruesos y carnosos) de resto, no veo a nadie más... en conclusión, digamos que soy un 95% hetero y un 5% homo aunque este último enfocado a un parcialismo especifico. te pasa eso porque no tiene educación suficiente como para comprender lo que lees si pudieras comprender no tendrías problemas con compartir lo que aprendiste. 

la lectura te tiene que enriquecer y darte bases para exponer tus ideas ante los demás tu no sabes exponer tus ideas solo has de repetir lo que el libro dice y cuando alguien te pregunta el porque o te expone otro pensamiento no tienes los argumentos para poder debatir sus ideas y hacerlo cambiar de parecer por eso te enojas.

no por leer tantos libros eres mas inteligente que los demás hay gente que obtenemos nuestros conocimiento de otras maneras. podes leer cientos de libros de como manejar un auto aprenderte el nombre de tosas sus piezas y su funcionamiento pero cuando te pongas atrás de un volante no podrás molerlo porque esto solo se aprende en la platica el instructivo del carro te dirá que el camio de velocidad lo tienes que hacer a las 3 mil revoluciones una gente con experiencia lo hace de oído tu defenderá a muerte lo que diga el libro pero la gente con experiencia sabrá que lo puedes hacer antes o después dependiendo de lo que te pida el carro. si hay muchos que se hacen varias cuentas en yahoo respuestas para responderse asi mismo, pero no dura mucho tampoco, por que se sabe quienes son, yo lei por ahi q una/o tal cañon mic hace eso......

yo estoy de parte de las dos posturas:

yo rara vez contesto algun apregunta qno me interesa, solo para obtener dos puntos y ser nvl 2 para hacer mas preguntas....

y hay veces q me tomo el tiempo de responder a alguna pregunta q me llame la atencion.....

pero tambien entiendo a las personas q quieren o pretenden ganar "fama" o lo que sea repondiendose y dandose puntos asi mismo, me hace ver la "astucia" (o sera "lo garca") de algunas personas, y su habilidad de poder llegar mas lejos haciendo trampa o cortando camino.

pf..lei por ahi qno andabas bien, espero q estes mejor !!!!
saludossss bueno diré cosas que me repugnan y las que me dan miedo.-gente aprovechada, de otros.(por lo que también entran los hipócritas y mentirosos)--violadores-gente ignorante me da miedo-perder a mis seres queridos.-sentirme menos.-sentir que pude dar más y no lo hice. nada que ver. ecc (error-correcting code memory). se trata de un sistema para detectar y corregir los tipos m&aacute;s comunes de corrupci&oacute;n de datos. <br/><br/>pruebe con una memoria markvision, a ver que pasa. los programas no tienen limitación de uso por el tiempo. la utilización viene limitada por la vida del ordenador. algunos programas necesitaras actualizarlos porque te lo piden, pero no tiene nada que ver con el ordenador. todos los portátiles de acer son excelentes. incluso si se llegase a aceptar a un diseñador hay muchas cosas que no tendrían explicación lógica, algunas serían:

1. el creador no es muy inteligente. miren a la jirafa: ¿por qué tiene un nervio que conecta al cerebro con la laringe que va desde el cerebro hasta los hombros y de regreso a la laringe en ves de tomar el camino corto? y ¿por qué la jirafa tiene 7 vértebras y el colibrí 14 cuando lo lógico seria al revés?

2. la gran mayoría de las especies se han extinto, lo cual sugiere cierta incompetencia por parte del creador.

3. ¿quién si no un sádico cruel diseñaría organismos que se comen unos a otros desde adentro mientras la víctima esta con vida (como algunas larvas hacen con arañas y parásitos hacen con humanos)? ¿o crea enfermedades como la peste, fiebre, viruela, polio, etc.?

4. si la complejidad implica un creador o un diseño, entonces la inmensa complejidad del creador implica que algo lo debió haber diseñado o creado. el creador del creado también requiere un creador o diseño, lo cual nos lleva a una cadena infinita de creadores y diseños.

5. si dios es omnisciente, eso quiere decir que el sabia que yo iva a ser ateo, y que iva a sufrir "segun los creyentes" en el infierno, pudiendo siempre haberlo evitado y no lo hizo, entonces, no es omnisciente ni todopoderoso por razones presentadas...