Динамическое предложение WHERE в LINQ

Каков наилучший способ собрать динамическое предложение WHERE для оператора LINQ?

У меня есть несколько десятков флажков в форме, и я передаю их обратно как: Dictionary <string, List <string >> (Dictionary <fieldName, List <values >>) на мой запрос 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;
}

Ответы на вопрос(10)

Ваш ответ на вопрос