Para realizar una consulta en LINQ con un producto cartesiano, lo haremos de la siguiente manera. Suponemos un contexto con las entidades "articulo" y "almacen" y necesitamos un listado con todos los artículos por almacenes. Seria lo siguiente:
01 IQueryable datos = (from c in contexto.articulos 02 from d in contexto.almacenes 03 select new 04 { 05 articulo= c.articulo, 06 almacen = d.almacen 07 });
Suponemos que tenemos un contexto con las entidades "cliente" y "proveedor" cuya clave primaria es código en ambas. Además suponemos que si el código es el mismo, se refiere al mismo individuo, por tanto la consulta quedaría así:
01 IQueryable datos = (from c in contexto.clientes 02 from d in contexto.proveedores 03 where c.codigo == d.codigoq 04 select new 05 { 06 codigo = c.articulo, 07 ventas = c.ventas, 08 compras = d.compras 09 });
También podría hacerse con un join:
01 IQueryable datos = (from c in contexto.clientes 02 join d in contexto.proveedores 03 on c.codigo equals d.codigo 04 select new 05 { 06 codigo = c.articulo, 07 ventas = c.ventas, 08 compras = d.compras 09 });Hasta aquí el artículo exprés.
No hay comentarios:
Publicar un comentario