Mario's profileMario Rodriguez MierPhotosBlogListsMore ![]() | Help |
Ejemplo de extensión de LinQ para manejo de listas de Sharepoint (Sharepoint List Rapid Implementation )
Con este ejemplo no pretendo hacer una implementación eficiente en cuanto a performance y comunicación de red si no que mas bien pretendo mostrar las facilidades para extender LinQ. Posteriormente daré algunas pautas para que puedan ser realizadas modificaciones al codigofuente para optimizar la implementación. Aquellos que hayan leído y trabajando con LINQ sabrán que una de las mayores ventajas es poder escribir en lenguaje p-seudo SQL sentencias que permitan manipular datos independientemente de la fuente de donde estos persistan. Esto permite una mayor claridad en el código, legibilidad, mantenibilidad y por sobre todo nos permite centrarnos en la resolución de la problemática de negocios que deseamos resolver y no en detalles no funcionales como lo es el acceso a datos. Con esta implementación deseamos que los desarrolladores que pretenden integrar sus aplicaciones con sistemas de manejo de contenido (Conent Managemt Systems), en este caso en particular sharepoint, lo puedan hacer de una manera facil e intuitiva como se muestra a continuación :
,"palabra clave" ,"dominio" );
Como pueden observar la simplicidad a la hora de escribir código referente a consultas que podamos hacer sobre las listas de sharepoint es bastante significativa si lo comparamos con la manera habitual que hasta el momento usábamos. Aquellos que lo hayan hecho sabrán bien de lo que estoy hablando, ya que habrán tenido que escribir bastantes líneas de código para poder hacer lo que nosotros hemos hecho en una sola sentencia.
Para lograr este objetivo simplemente se debe realizar un “mapeo” utilizando atributos de objetos a las listas de sharepoint como se muestra en el siguiente ejemplo:
Como se puede apreciar en el ejemplo mediante “atributos” (prefiero llamarlos anotaciones) podemos especificar la lista sharepoint a la cual queremos hacer referencia:
que campo de la lista será “mapeado” en propiedades o campos de la clase:
y también podemos especificar cuál será la propiedad o campo que representa el identificador de registro en la lista de sharepoint:
Una vez realizado este “mapeo” en cual puede ser generado por una herramienta al estilo sqlmetal.exe que vienen con LINQ para realizar el “mapeo” de bases de datos solamente nos resta definir una clase donde exponemos todas las listas que estaremos usando en ese sitio, como se muestra en el siguiente ejemplo:
De esta manera tenemos todo lo necesario para poder escribir la consulta LINQ que propusimos al comienzo de este artículo. Próximamente cuando este mas acabado y sea digno de mostrar estaré poniendo en este blog el código fuente de la implementación. Si lo deseas tener antes, por favor escríbeme a mi dirección de correo solicitándolo que con mucho gusto de lo hare llegar. Escribe a mario.rodriguez@microsoft.com. Espero que te haya gustado y sobre todo que te haya servido de utilidad. TrackbacksThe trackback URL for this entry is: http://marioarm.spaces.live.com/blog/cns!C66AFDF233C95FF!355.trak Weblogs that reference this entry
|
|
|