domingo, 23 de mayo de 2010

LINQ Generic List con columnas especificas

Para poder ultilizar el resultado de un Query Linq se pueden utilizar las listas genericas Ejemplos:

public List < customer > GetCustomersCountry(string Country)
{
NortwindDataContext db = new NortwindDataContext();
var query = from cust in db.Customers
select cust;
return query.ToList();
}

public List< customer > GetCustomersCountry(string Country)
{
NortwindDataContext db = new NortwindDataContext();
List < customer > c = (from cust in db.Customers
select cust).ToList< customer >();
return c;
}

Sin embargo si no quieren enviar todas filas si no que algunas, se podria modifica facilmente asi:

public List< customer > GetCustomersCountry(string Country)
{
NortwindDataContext db = new NortwindDataContext();
var query = from cust in db.Customers
select new { cust.CustomerID,cust.CompanyName};
return query.ToList();
}

Pero este le dara el error:
Cannot implicitly convert type 'System.Collections.Generic.List' to 'System.Collections.Generic.List'

Esto es por que Usted no debe devolver instancias anónimas.
No se pueden devolver los tipos anónimos.

Solución:
public IQueryable GetCustomersCountry()
{
NortwindDataContext db = new NortwindDataContext();
IQueryable I =
(
from c in db.Customers
orderby c.CompanyName
select new { CompanyName = c.CompanyName }
);
return I;
}

No hay comentarios.: