2011-10-15 17 views
9

¿Es posible añadir y quitar criterios sobre la marcha con pulcro? Necesito esto para implementar el filtrado dirigido por el usuario. No es factible tener una consulta para cada filtro, ya que hay demasiadas combinaciones.dinámico donde cláusula en pulcro

Respuesta

3

En el nivel más básico, sólo puede construir el TSQL dinámicamente en un StringBuilder - adición extra de and c.Name = @name etc. No te preocupes por los parámetros adicionales; envíelos a todos: la biblioteca inspecciona el comando y no agrega parámetros que obviamente no se usan. Hay una segunda API más nueva para este escenario específico, pero no puedo recordar los detalles sin verificar (y no estoy en una computadora). Puedo intentar agregar más detalles más adelante (suponiendo que Sam no lo haga).

+0

Estoy construyendo actualmente el SQL como una cadena. El problema es que estoy usando un número de IN's en WHERE. Algunas veces, algunas colecciones están vacías y, por lo tanto, pasan colecciones vacías de forma incorrecta. Lo ideal es que solo agregue la cláusula IN si hay elementos en la colección para filtrar. – NabilS

+0

@NabilS pero si no lo hacen * * agrega la parte de la que, todavía debe trabajar correctamente - pero voy a investigar –

+1

@NabilS ver: http://samsaffron.com/archive/2011/09/05/ Excavar + nosotros + OUT + de + + + el desorden LINQ-2-SQL + creado # commentsTitle –

Cuestiones relacionadas