• Domingo 22 de Diciembre de 2024, 06:59

Autor Tema:  Necesito unir dos consultas Linq en una sola.  (Leído 2278 veces)

LeoRdgzVB

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Necesito unir dos consultas Linq en una sola.
« en: Viernes 31 de Enero de 2014, 16:11 »
0
Hola, necesito poder unir en una sola un par de consultas que hago con Linq to SQL.
Una de ellas me busca todas las 'categorías' de todos las filas (productos) que el usuario ha seleccionado en un DataGridView. Esto lo logro utilizando un objeto List con los ID de los productos.


Código: [Seleccionar]
Dim Cates = From Cate In db.CATEGORIAS Join CatePro In db.CATE_PRODUCTOS
                     On Cate.ID_CATEGORIA Equals CatePro.ID_CATEGORIA
                     Where MiList.Contains(CatePro.ID_PRODUCTO) Select Cate.CAT_NOMBRE

La otra consulta consiste en que me devuelva sólo las categorías que son comunes a todos los productos seleccionados:

Código: [Seleccionar]
Dim Comunes = (From t1 In dbej1.Table_1 Select t1.Columna1).Intersect(From t2 In dbej1.Table_2 Select t2.Columna1)

Como pueden ver, esta segunda consulta es un ejemplo que conseguí para devolver los valores en común entre dos columnas de dos tablas. Por tanto, lo que necesito es una consulta que me traiga todas las categorías de todos los productos seleccionados (Cates) pero al mismo tiempo que devuelva sólo las categorías que tienen todos en común.

He intentado agregar la cláusula INTERSECT dentro de la primera consulta (Cates), pero no logro hacerlo.

Gracias.