ASP.NET Web API とリポジトリ パターンを使用します。
そして、where句を動的に追加したいと思います。お気に入り、
//controller
static readonly ICustomerRepository repository = new CustomerRepository();
//
var result = repository.GetAll();
if (form['name'] != null) result.Where( p => p.custName.Contains( form['name'].toString() ) );
if (form['attribute1'] != null) result.Where( p => p.attribute1.Equals( form['attribute1'].toString() ) );
return result;
//
IOが怖くないですか?