sábado, 26 de mayo de 2012
LINQ to Entities - Sintaxis
Una consulta es una expresión que recupera datos de una base de datos.Las consultas se suelen expresar en un lenguaje de consulta especializada, como SQL para bases de datos relacionales y XQuery para XML. Por lo que, los desarrolladores han tenido que aprender un nuevo lenguaje de consulta para cada tipo de datos de formato de la fuente o los datos que se consulta.
Language-Integrated Query (LINQ) ofrece un simple, modelo coherente para trabajar con datos a través de varios tipos de fuentes de datos y formatos. En una consulta LINQ, siempre se trabaja con objetos de programación.
Sintaxis de Consultas
La sintaxis permite de linq permite a los desarrolladores escribir consultas en un lenguaje de alto nivel que tiene el formato similar a Transact-SQL. Mediante el uso de la sintaxis de las expresiones de consulta, se puede realizar el filtros, ordenar y agrupar las operaciones en las fuentes de datos con código mínimo.Ejemplos a desarrollar:
- Consulta sencilla ( from , select)
- Filtros ( where )
- Ordenando ( Order by)
- Particionando (Skip , Take, top n)
- Operadores (Count , sum , average )
Northwind db = new Northwind()
Consulta Sencilla
El metodo from nos indica de que tabla obtendremos la información y select nos indica que campos de esa tabla.var query = from p in db.Products
select p;
Obteniendo un solo campo
IQueryable<string> productNames =
from p in db.Products
select p.Name;
Obteniendo algunos campos
var query =
from p in db.Products
select new
{
Id = p.ProductID,
Nombre = p.Name
};
Filtros ( where )
La cláusula where filtra la información.var query =
from product in db.Products
where product.categoryid == id
select new
{
Nombre = p.Name,
precio = p.unitprice,
codigo = p.productid
};
Ordenando (orderby y orderbyDescending)
La cláusula orderby y OrderbyDescending nos proporcionan la capacidad de ordernar el conjunto de resultados.var query = from p in db.Products
orderby p.unitprice
select p;
var query = from p in db.Products
orderby p.unitprice descending
select p;
var query = from p in db.Products
orderby p.unitprice, p.name descending
select p;
Particionando (Skip, Take)
La clausula Skip muestra todos los datos, excepto los 2 primero.
La clausula Take muestra solo los primero 2 registros.
Skip
var query =
(from p in db.Products
select new
{
Id = p.ProductID,
Nombre = p.Name
}).Skip(2);
Take
var query = (from p in db.Products
select new
{
Id = p.ProductID,
Nombre = p.Name
}).Take(2);
Fuentes del articulo:
http://msdn.microsoft.com/en-us/library/bb399367.aspx
Suscribirse a:
Comentarios de la entrada (Atom)
No hay comentarios.:
Publicar un comentario