Sintáxis LINQ To SQL - SELECT

Siguiendo con las entregas de LINQ To SQL ahora les voy mostrar las sintaxis que tenemos con LINQ.

Al igual que un SELECT de SQL Server, LINQ cuenta con las mismas expresiones para formar una consulta. Vamos a utilizar una sentencia SELECT que actuará sobre una colección de elementos utilizando la expresión FROM misma que podemos combinarla con la expresión WHERE para crear un filtro.

Veamos un ejemplo:

using (NorthwindDataContext db = new NorthwindDataContext())
           
{
               
var query = from c in db.Customers
                           
where c.CustomerID == "ALFKI"
                           
select new

                               
{
                                   
c.CompanyName,
                                   
c.ContactName
                               
};

               
foreach (var cust in query)
               
{
                   
Console.WriteLine("Company Name: " + cust.CompanyName);
                   
Console.WriteLine("Contact Name: " + cust.ContactName);
               
}
               
Console.ReadLine();
           
}

Esta misma expresión la podríamos aplicar con una expresión Lambda (pueden revisar esto más a fondo en el artículo del buen maic en: Delegados, métodos anónimos y expresiones lambda)

using (NorthwindDataContext db = new NorthwindDataContext())
           
{
               
Customer customers = db.Customers.Single(cust => cust.CustomerID == "ALFKI");

               
Console.WriteLine("Company Name: " + customers.CompanyName);
               
Console.WriteLine("Contact Name: " + customers.ContactName);
               
Console.ReadLine();
           
}

Espero que esta pequeña entrega les pueda ayudar a comenzar a adentrarse con esta nueva características de LINQ integrado a en Visual Studio 2008 y comenzar a construir consultas con LINQ To SQL.

En la próxima entrega veremos la sentencia WHERE con sus diferentes aplicaciones.

 

S@ludos y Feliz Codificación
Víctor Alameda
Microsoft Certified Solution Developer

Published Sunday, June 29, 2008 10:29 PM por VAlameda
Ofrecido por Community Server (Non-Commercial Edition)