Linq: Los Operadores OrderBy y OrderByDescending.

Anteriormente ya hablamos de varios operadores de linq y ahora volvemos al tema para ver dos nuevos operadores que seguramente son de los más usados.

Para los que no sepan que es linq, les recomiendo leer ¿Qué es linq?, para los demás sigamos adelante.

En este post, vamos a ver dos operadores y como he dicho seguramente van a ser de los más usados, estos son:

  • OrderBy
  • OrderByDescending

Como su nombre indica, estos operadores, lo que nos van a permitir es ordenar el conjunto de datos de forma ascendente (OrderBy) o descendente (OrderByDescending).

Antes de meternos en faena, decir que vamos a usar como fuente de datos un xml con información sobre países, el mismo que usamos en el post “Operadores de Linq: Como usar los operadores Take, StartsWith, EndsWith y Contains”.  El xml tiene este aspecto: Sigue leyendo

Anuncios

Operadores de Linq: Como usar los operadores Take, StartsWith, EndsWith y Contains

Volvemos a Linq dado que cuanto más lo uso más me gusta  y como ya dije anteriormente Linq seguramente es la mayor mejora que presenta ASP.NET 3.5 y por ello, hoy quería hablar de los operadores que nos aporta el Framework para poder hacer nuestras consultas más precisas.

Los operadores que vamos a ver hoy son:

  • Take
  • StartsWith
  • EndsWith
  • Contains

Estos operadores son equivalentes a operadores de SQL. Estos operadores son

  • Top
  • LIKE

Sigue leyendo

La Beta del Service Pack 1 de Visual Studio 2008 y .Net Framework 3.5 está en la calle

Al parecer amigos míos, (según he leído en el blog de Scott Guthrie) hace poco ha salido a la calle la beta 1 para .Net Framework 3.5 y Visual Studio 2008 (VS 2008 a partir de ahora). En ésta se incluyen correcciones y mejoras además de nuevas características para mejorar el desarrollo.

Si queréis descargarla podéis hacerlo desde el sitio de MSDN. La fecha de salida no es segura pero se cree que será al final del verano. Y ahora vamos a ir viendo las novedades pero antes de nada ten en cuenta:

  • Ten cuidado donde instalas este Service Pack, ya que es una BETA.
  • Antes de instalarlo instala el Windows Vista Service Pack 1.
  • Si tienes instaladas las VS Tools for Silverlight 2 Beta 1, desinstálalo ya que si no lo hacéis la instalación fallara (No estamos hablando del Runtime de Silverlight sino las Tools).
  • Igualmente, si tienes instalada la actualización KB949325 de VS 2008 desinstálala ya que si no lo haces, la instalación fallara.
  • La beta del Service Pack 1, provoca problemas con Expression Blend. Así que si lo usas ya que eres capaz de programar y diseñar, piénsate dos veces si la instalas. Sigue leyendo

Ejemplo práctico: Creando Unit Test para probar nuestro código

Por norma general los desarrolladores (y por supuesto los testers 😉 ) ocupan mucho tiempo de su jornada para probar el código y asegurarse que la funcionalidad esta implementada correctamente y cumple con la finalidad para la que haya sido diseñada la aplicación.

TDD

Tdd, es la abreviatura de Test Driven Development (Desarrollo Orientado a Pruebas) y es una metodología donde se contempla el ciclo de vida del desarrollo de software de la siguiente forma (y orden):

  • Creación de la pruebas unitarias o unit testing
  • Implementación del código que está probando la prueba
  • Refactoring del código anteriormente implementado

Para que esta metodología funcione, el código tiene que estar lo suficiente estructurado como para poder crear unit test que prueben pequeñas partes de la funcionalidad. Sigue leyendo

Ejemplo practico: Mostrando el horóscopo desde una fuente externa con HttpWebRequest, HttpWebResponse, Linq y Ajax

De un tiempo a esta parte y sobre todo desde que se empezó a hablar de la web 2.0, muchos sitios exponen su información para que se pueda explotar desde diferentes aplicaciones así que en este post vamos a ver cómo obtener información de una fuente de datos externa por medio de la clase HttpWebRequest y HttpWebResponse perteneciente a System.Net, posteriormente la trataremos con Linq To Xml y para finalizar, crearemos una interfaz rica con Ajax.

Para que podamos explotar la info de un sitio web, lo primero que vamos a necesitar es saber qué es lo que vamos a explotar. Nosotros, vamos a usar un XML que expone Terra para mostrar el horóscopo.

Lo primero que vamos a necesitar, es una entidad para ir manejando los datos, a esta entidad, le he llamado HoroscopeInfo, y tiene este aspecto: Sigue leyendo

Ejemplo práctico. Binding de entidades generadas con Linq to Xml a Repeaters.

Gracias a Linq, vamos a poder realizar consultas a fuentes de datos de forma fácil y sencilla obteniendo como resultado tipos anónimos o entidades de negocio generadas por nosotros. En este post vamos a ver un ejemplo de Linq To Xml donde por medio de Linq vamos a obtener una colección que bindaremos a un repeater.

Una vez introducido el post vamos a la faena, primero necesitamos un xml que vamos a cargar con XElement que es una nueva clase perteneciente a System.Xml.Linq que nos permite operar de una forma sencilla con los xmls.

El xml que vamos a usar tiene el siguiente aspecto: Sigue leyendo

¿Que son los tipos anónimos?

Los tipos anónimos, usados junto a Linq nos permiten crear entidades de negocio de forma implicita en el momento de su uso

Un ejemplo de un tipo anónimo sería:

var link = new { Text = "google", Title = "Ir a google", HRef = "http://www.google.com/" };

Enlaces relacionados:

Novedades de .net 3.5. Creación de objetos más rapida con constructores anónimos

Son varias las mejores que incluye c# 3 frente a las versiones anteriores, y seguramente la mayor es la inclusión de LINQ pero no vamos a hablar en este momento de LINQ, si no de los constructores anónimos.

Bien es verdad que estos constructores anónimos (aunque más que hablar de constructores anónimos deberíamos hablar de tipos anónimos ya que todo esto es mucho más extenso como veremos más adelante).

¿De que hablamos cuando hablamos de constructores anónimos?

Pues bien, veamos un ejemplo práctico de todo esto y seguro que lo entendemos mejor. Supongamos que tenemos una entidad sencillita llamada Empleado y esta tiene varios miembros, varias propiedades para acceder a esos miembros y un constructor. La clase sería algo parecido a esto: Sigue leyendo