Estoy trabajando con una consulta LINQ a SQL y me he encontrado con un problema donde tengo 4 campos opcionales para filtrar el resultado de los datos. Por opción, me refiero a que tiene la opción de ingresar un valor o no. En concreto, unos cuadros de texto que podrían tener un valor o que tienen una cadena vacía y unas pocas listas desplegables que podría haber tenido un valor seleccionado o tal vez no ...LINQ to SQL Donde Cláusula Criterio Opcional
Por ejemplo:
using (TagsModelDataContext db = new TagsModelDataContext())
{
var query = from tags in db.TagsHeaders
where tags.CST.Equals(this.SelectedCust.CustCode.ToUpper())
&& Utility.GetDate(DateTime.Parse(this.txtOrderDateFrom.Text)) <= tags.ORDDTE
&& Utility.GetDate(DateTime.Parse(this.txtOrderDateTo.Text)) >= tags.ORDDTE
select tags;
this.Results = query.ToADOTable(rec => new object[] { query });
}
Ahora Necesito agregar los siguientes campos/filtros, pero solo si el usuario los proporciona.
- Número de producto - Viene de otra tabla que se puede unir a TagsHeaders.
- Número de pedido: un campo dentro de la tabla de TagsHeaders.
- Número de pedido: similar a PO #, solo una columna diferente.
- Estado del producto: si el usuario lo seleccionó de un menú desplegable, debe aplicar aquí el valor seleccionado.
La consulta que ya tengo funciona muy bien, pero para completar la función, necesita poder agregar estos 4 elementos más en la cláusula where, ¡simplemente no sé cómo!
Marque aquí Roscoe, se puede haber sido respondida ya ... [http://stackoverflow.com/questions/11194/conditional-linq-queries](http://stackoverflow.com/questions/11194/conditional-linq-queries) – jlembke