Foros del Web » Programación para mayores de 30 ;) » .NET »

Crear consultas LINQ dinámicamente

Estas en el tema de Crear consultas LINQ dinámicamente en el foro de .NET en Foros del Web. Muy buenas, ojalá alguien me pueda hechar una mano con esto, le agradecería mucho. Es una aplicación web en ASP.NET 3.5, C#, SQL Server 2008. ...
  #1 (permalink)  
Antiguo 22/09/2010, 03:00
___
 
Fecha de Ingreso: mayo-2009
Mensajes: 15
Antigüedad: 15 años
Puntos: 1
Crear consultas LINQ dinámicamente

Muy buenas, ojalá alguien me pueda hechar una mano con esto, le agradecería mucho.

Es una aplicación web en ASP.NET 3.5, C#, SQL Server 2008. VS2010 Professional.

Estoy implementando un buscador, algo sencillo, sobre los campos: titulo, contenido y palbras clave. El tema es que entre el primer y segundo campo existe un operador lógico (and/or), igual que entre el segundo y tercer campo. En resumidas cuentas las busquedas serían algo así: Buscar títulos que contengan "ABC" [and/or], contenidos que contengan "XYZ" [and/or], palabras clave que contengan "ABCD".

El problema que tengo es a la hora de realizar la consulta y utilizar el operador && / ||. ¿Cómo puedo hacer dinámicamente que el operador cambie según el que haya elegido el usuario?

Lo que tengo es lo siguiente:


Código C:
Ver original
  1. var rProj = (from p in db.Projects
  2.              where !p.IsDeleted
  3.              && ((string.IsNullOrEmpty(_Title)) ? true : (p.Title.Contains(_Title)))
  4.              && ((string.IsNullOrEmpty(_Body)) ? true : (p.Body.Contains(_Body)))
  5.              && ((string.IsNullOrEmpty(_Keywords)) ? true : (p.Keywords.Contains(_Keywords)))
  6.              orderby p.StartDate descending
  7.              select new
  8.              {
  9.                        p.ProjectID,
  10.                        p.Title,
  11.                        p.Body,
  12.                        Keywords = p.Keywords,
  13.              });

Saludos cordiales y buen día...
Sigo en el lio, si consigo algo cerraré el tema. Muchas gracias!
  #2 (permalink)  
Antiguo 14/08/2011, 18:38
Avatar de dwaks  
Fecha de Ingreso: agosto-2002
Ubicación: Panamá
Mensajes: 962
Antigüedad: 21 años, 9 meses
Puntos: 15
Respuesta: Crear consultas LINQ dinámicamente

Prueba utilizando LINQ Dynamic Query Library, te dejo este link en inglés que muestra ejemplo y define como se usa, también tienes el código fuente en VB y C#.

http://weblogs.asp.net/scottgu/archi...y-library.aspx
  #3 (permalink)  
Antiguo 23/09/2011, 09:25
 
Fecha de Ingreso: septiembre-2011
Ubicación: Bogota
Mensajes: 1
Antigüedad: 12 años, 7 meses
Puntos: 1
Respuesta: Crear consultas LINQ dinámicamente

un solo campo de busqueda
Dim cadena As String
cadena = Me.TextBox1.Text.Trim
Dim query = From cli In BaseD.Productos _
Where cli.Descripcion Like cadena & "*" or cli.referencia Like cadena & "*" _
Select cli.Codigo, cli.Descripcion _
Order By Descripcion Ascending
Me.DataGridView1.DataSource = query.ToList

Etiquetas: linq
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:41.