Actualmente estoy escribiendo una función de búsqueda en ASP.NET MVC 4 con Entity Framework. Sin embargo, he llegado a un obstáculo para el cual solo puedo encontrar soluciones "malas".consulta de linq a sql con múltiples donde los parámetros
Mis funciones de búsqueda lleva de nuevo un modelo que consta de 4 parámetros:
String Name
String Street
String Code
String Province
List<Query> query = (from t in Model select t).ToList();
Ahora me gustaría filtrar en mi entrada de búsqueda. Sin embargo, un usuario puede decidir completar tantos campos de búsqueda como sea posible. Él puede decidir usar Nombre y Calle, o Nombre, Calle y Provincia, o ...
La única solución real que pude encontrar consiste en hacer mi consulta y IQueryable
y verificar si un campo se ha llenado o no con un if
, luego use un .Where
para actualizar la consulta. Como esto daría actualmente m 5 consultas, me pregunto si falta o no una mejor solución aquí.
Gracias por ayudarme.
Sí, esa es la solución que encontré en línea. Me preguntaba si existe o no una forma más clara de codificar esto. – whodares
Si quieres quedarte 'IQueryable'. Entonces esto es lo que creo que es la manera de hacerlo – Arion
Puede haber más código, pero este es el más optimizado (y probablemente el mejor). Verifique la consulta SQL resultante en [linqpad] (http://www.linqpad.net/) – mshsayem