Entradas

Mostrando entradas de marzo, 2011

Herramienta para generación de Scripts de inserción de datos de forma ágil en SQL Server

Imagen
  Una tarea que puede tomar, algunas veces mucho tiempo y que puede ser desgastante, es generar scripts de inserción de datos, en tablas. Y lo frustrante, es que, en muchos escenarios, la información ya se tiene en las propias tablas, pero para facilitar el cargado inicial de datos, en otras bases de datos o el transporte de la misma información, se requiere disponer del Script de inserción de datos.   En este escenario, aplica muy bien, la herramienta o procedimiento almacenado InsertGenerator que se puede obtener en este enlace: http://www.codeproject.com/KB/database/InsertGeneratorPack.aspx   Lo que se hace es crear el procedimiento almacenado, en la base de datos, donde se encuentran las tablas con la información, que se desea tener en el Script de inserción y ejecutarlo pasándole, como parámetro, la tabla, para la que se desea generar el Script, así:   exec InsertGenerator ClasificacionesVehiculo   Con sólo eso, ya, en la ventana de resultados de ejecución de las consultas, de la

Covarianza y contravarianza en C#

Imagen
  Esto son otros nuevos conceptos que vienen con el Framewrok 4.0 de C# y son duros de entender. Mi propósito en este articulo, como el de muchos autores, es dar a entender los conceptos que hay detrás de la covarianza y contravarianza, para que así estos conceptos se puedan aplicar de una manera más natural, en los desarrollos de Software que así lo requieran.   Empecemos por indicar que, desde el punto de la física,   Co y Contra: Implican dualidad, lo que significa que los términos van juntos. Varianza: implica movimiento.   Se puede inferir, entonces, que en estos términos, Covarianza significa “Con el movimiento” y Contravarianza “Contra el movimiento o en sentido opuesto al movimiento”.   Ahora, en nuestro campo, la programación orientada a objetos, en el marco del concepto de herencia, identificamos dos tipos de objetos:   1.       Tipos base 2.       Tipos derivados   Así las cosas, podemos imaginarnos a un tipo base interactuando en un programa (es decir, tener un movimiento

Dynamics en C#

  Woow estuve leyendo acerca de las nuevas características que tiene C# para la versión 4 del Framework y me pareció excelente la inclusión de la palabra clave dynamic.   Esto permite, postergar, hasta el tiempo de ejecución , la evaluación de tipos. Es decir, en tiempo de compilación no se detectan errores de asignación de tipos.   La palabra dynamic permite indicarle al compilador que no efectúe la comprobación de asignación de tipos.   En el artículo que se encuentra aca: http://msdn.microsoft.com/en-us/magazine/gg598922.aspx   Se hace una diferenciación clara de lo que son las definiciones con: object, var y dynamic.   var: Permite inferir el tipo, pero si hay un error en la asignación de tipos, el compilador lo detecta. object: Tipo básico de todos los objetos de .NET siempre es necesario efectuar Cast, para hacer la asignación de tipos y que no se genere error en tiempo de compilación. dynamic: Permite postergar la detección de errores por asignación de tipos hasta el tiempo de