¿Por lo general, un ORM no implica hacer algo como un select *?¿Por qué el ORM se considera bueno pero el "seleccionar *" se considera malo?
Si tengo una mesa, MYTHing, con la columna A, B, C, D, etc, entonces hay típicamente sería un objeto, MYTHing con propiedades A, B, C, D.
Sería mal si ese objeto fue instanciado de forma incompleta por una declaración de selección que se veía así, solo buscando el A, B, no el C, D:
seleccione A, B de MyThing/* no obtenga C y D, porque que no los necesitamos */
pero también estaríamos mal siempre hacer esto:
seleccione A, B, C, D/* obtenga todas las columnas para que podamos crear una instancia completa del objeto MyThing */
¿Asume ORM que el acceso a la base de datos es tan rápido que ya no tiene que preocuparse y así siempre puedes buscar todas las columnas?
O, ¿tiene diferentes objetos MyThing, uno para cada combinación de columnas que pueda estar en una instrucción select?
EDITAR: Antes de responder a la pregunta, lea las respuestas de Nicholas Piasecki y Bill Karwin. Supongo que hice mi pregunta mal porque muchos la entendieron mal, pero Nicholas la entendió al 100%. Al igual que él, estoy interesado en otras respuestas.
editar # 2: Los enlaces que se relacionan con esta pregunta:
Why do we need entity objects?
http://blogs.tedneward.com/2006/06/26/The+Vietnam+Of+Computer+Science.aspx, especialmente la sección "El problema parcial a objetos y el tiempo de carga de Paradox"
http://groups.google.com/group/comp.object/browse_thread/thread/853fca22ded31c00/99f41d57f195f48b?
http://www.martinfowler.com/bliki/AnemicDomainModel.html
http://database-programmer.blogspot.com/2008/06/why-i-do-not-use-orm.html
tal vez el problema es el título - "seleccionar *" en lugar de "seleccionar x, y, z"? – gbjbaanb
¿Qué ORM estás usando que hace un SELECT *? He usado llblgen y nhibernate, ambos deletrean cada columna para buscar – Bob