láusula WHERE dinámica en LINQ

Cuál es la mejor manera de ensamblar una cláusula WHERE dinámica para una instrucción LINQ?

Tengo varias docenas de casillas de verificación en un formulario y las paso de regreso como: Dictionary <string, List <string>> (Dictionary <fieldName, List <values>>) a mi consulta LINQ.

public IOrderedQueryable<ProductDetail> GetProductList(string productGroupName, string productTypeName, Dictionary<string,List<string>> filterDictionary)
{
    var q = from c in db.ProductDetail
            where c.ProductGroupName == productGroupName && c.ProductTypeName == productTypeName
            // insert dynamic filter here
            orderby c.ProductTypeName
            select c;
    return q;
}

Respuestas a la pregunta(20)

Su respuesta a la pregunta