SharePoint 2010: ¿Cuándo uso SPQuery y cuando LINQ To SharePoint?

Cómo ya se ha comentado en otros artículos, SharePoint 2010 define la posibilidad de realizar consultas contra listas y bibliotecas a través del nuevo proveedor LINQ To SharePoint que se encarga de generar la consulta CAML correspondiente. El uso de LINQ To SharePoint nos permite reemplazar el uso de la clase SPQuery a la hora de realizar estas consultas. Ahora bien, la pregunta es: ¿siempre podremos usar LINQ To SharePoint en lugar de SPQuery? La respuesta es que hay ciertas excepciones que nos llevarán a usar SPQuery:

  • Cuando tenemos usuarios anónimos, ya que LINQ To SharePoint no soporta este tipo de usuarios.
  • Cuando tenemos una columna de lookup que se refiere a una lista de otro sitio. LINQ To SharePoint soporta estos escenarios, pero a costa de que generemos nosotros el correspondiente modelo de entidades ya que SPMetal no está preparado para este escenario.
  • Cuando el rendimiento es vital en nuestra solución, ya que LINQ To SharePoint introduce cierta sobrecarga (mínima, pero la introduce) que penaliza ligeramente el rendimiento.
  • Necesitamos consultar los datos de una lista externa, lo cuál no está soportado en LINQ To SharePoint.

Finalmente, os dejo los posts de LINQ To SharePoint publicados hasta ahora en el blog:

SharePoint2010_thumb