SubSonic y C# (2)

Si no ha leído la primera parte, puede hacerlo ahora SubSonic y C# (1)

Algunos ejemplos prácticos de uso de SubSonic son

Obtener un listado ordenado de alguna tabla para usar con RadioButtons, ComboBox,ListBoxes:

MyComboBox.DataSource= Category.GetListItems();

Donde Category es el nombre de la clase generada a partir de mi tabla “Category”.

Ejecutar Querys y pasarle parámetros:

SqlQuery qry = new SqlQuery().From<Product>().Where( "categoryname" ).
          IsEqualTo( "miParámetro de búsqueda" );

SubSonic.SqlQuery provee de un método Where() que como primer parámetro nos permite indicar la columna por la cual queremos filtrar,algunos ejemplos:

  • Nos permite indicar que la columna debe tener el valor indicado.
    .Where("columna").IsEqualTo("valor")
  • Nos permite indicar que la columna no tenga el valor indicado
    .Where("columna").IsNotEqualTo("valor")
  • Nos permite construir una sentencia Like, el valor que pasemos al método Like puede incluír “%”
    .Where("columna").Like("valor")
  • Filtra todos los registros donde “columna” sea null.
    .Where("columna").isNull()
  • Filtra todos los registros donde “columna” no sea null.
    .Where("columna").isNotNull()
  • Filtra todos los registros donde “columna” sea mayor a “valor”.
    .Where("columna").IsGreaterThan(valor)
  • Filtra todos los registros en que “Columna” esté en el rango indicado de valores.
    .Where("columna").InValues(valor1,valor2,n…)
  • Nos permite hacer un subSelect dentro del actual, pasando como parámetro otro SqlQuery.
    .Where("columna").In(SqlQuery)
  • Para anidar instrucciones, usamos el Método And()
    .Where("columna").IsGreaterThan(valor)
    .And("columna2").IsNotNull();

Todo esta información y muchísima más la puede encontrar en la documentación de SubSonic

Descargar Proyecto demo SubSonic2

Hasta la próxima entrega

1 Comment(s)

  1. Muy buenos post sobre SubSonic. Me han ayudado un montón. Espero que no te demores para el próximo post de esta utilería.
    Gracias

    R. Bardin. | Mar 20, 2009 | Reply

Post a Comment