Welcome to MSDN Blogs Sign in | Join | Help

Tags

No tags have been created or used yet.
Linq to System Search

Hace un tiempo atrás realice una implementación de un “proveedor” del motor “Windows Search” para LinQ. El objetivo fue mostrar la versatilidad y facilidad de extender esta nueva característica a diversas  fuentes de datos. Para este propósito realizamos un pequeño proyecto que implementa la interface IQueriable con el objetivo de extender la funcionalidad de LinQ a fuentes de datos de Windows Search.

A continuación veremos algunos ejemplos de uso:

Uso del Select

SystemIndex<SystemSearch> systemIndex ;

var result = (from SystemSearch t in systemIndex 
             
select new { t.ItemName, t.Author,  
                          
t.Shell, t.Kind, t.Language });

foreach (var item in result){

        TestContext.WriteLine(item.ItemName);

}

 

Uso del Where

SystemIndex<SystemSearch> systemIndex ;

var result = (from SystemSearch t in systemIndex
              where t.Kind == new string [] {"document"} || 
                    t.Kind == new string[] { "folder"
               select new { t.ItemName, t.Author, t.Kind,
                            t.Language });

foreach (var item in result){

        TestContext.WriteLine(item.ItemName);

}

 

Uso del “Order By”

SystemIndex<SystemSearch> systemIndex ;

 var result = (from SystemSearch t in systemIndex 
              
orderby t.Language
               select new { t.ItemName, t.Author,
                            t.Kind, t.Language });

foreach (var item in result){

        TestContext.WriteLine(item.ItemName);

}

 

Más sobre este proyecto incluido el código fuente puede encontrarlo aqui:http://www.codeplex.com/SystemSearchToLinQ

Espero les guste!

Posted: Friday, January 16, 2009 8:55 AM by Mario Rodriguez Mier

Comments

No Comments

Leave a Comment

(required) 

(required) 

(optional)

(required) 

  
Enter Code Here: Required

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Page view tracker