Blog de Francisco Velázquez

otro blog personal

Archive for April 2011

Mini-ORMs

with one comment

Desde que se publicara Massive, que a mí personalmente me impresionó. Han aparecido algunos mini-orms, como PetaPoco o Dapper.Net (usado en stackoverflow). Realmente lo podríamos llamar la capa de acceso a datos tradicional, pero que con la nueva funcionalidad de C# todo es más fácil. Una evolución de AutoMapper.


public static List<T> AutoMap<T>(this IDataReader dr)
 where T : new()
 {
 Type businessEntityType = typeof(T);
 List<T> entitys = new List<T>();
 Hashtable hashtable = new Hashtable();
 PropertyInfo[] properties = businessEntityType.GetProperties();

 foreach (PropertyInfo info in properties)
 {
 hashtable[info.Name.ToUpper()] = info;
 }

 while (dr.Read())
 {
 T newObject = new T();
 for (int index = 0; index < dr.FieldCount; index++)
 {
 PropertyInfo info = (PropertyInfo)hashtable[dr.GetName(index).ToUpper()];
 if ((info != null) && info.CanWrite)
 {
 info.SetValue(newObject, dr.GetValue(index), null);
 }
 }
 entitys.Add(newObject);
 }
 dr.Close();
 return entitys;
 }

Creo que es esto es otra muestra del rechazo a la over-engineering.

Written by fravelgue

April 6, 2011 at 9:08 pm

Posted in development

Tagged with , ,

SQL Server Sum Time

leave a comment »

Un recordatorio para sumar campos almacenados en Sql Server como Time.

SELECT cast(dateadd(millisecond,sum(datediff(millisecond,0,cast(duration as time))),0) as time) FROM ...

via.

Written by fravelgue

April 5, 2011 at 1:32 pm

Posted in development

Tagged with

Over-engineering

leave a comment »

Parece que es la palabra de moda, algo que sólo confirma lo poco establecido que está la metodología de desarrollo. Ayende dedica una serie de posts en su blog mostrando la cantidad de infraestructura que usamos, muchas veces innecesaria. De un modo parecido se situa Icaza.

La verdad creo que alcanzar esa simplicidad, y no incluir más infraestructura de la necesaria no es tarea sencilla. Si además la mayoría de las veces nos encontramos pensando en condicional.

La simplicidad es algo que Rob Conery, siempre ha pretendido conseguir, y creo que lo consigue con Massive, su nuevo de acceso a datos.

Written by fravelgue

April 4, 2011 at 5:08 pm