Если я понимаю вопрос, поскольку это функция экспорта, и пользователь может передать эти дополнительные поля в заключительное предложение where
, которое мы будем использовать в БД, тогда:
//at this point it is an IQueryable so we have not made an execute request to the DB
//atm it is equivalent to SELECT * FROM MyTable Where Id = idPassedIn
var myData = myDataContext.MyTable.Where(x => x.Id == idPassedIn);
if(!string.IsNullOrEmpty(namePassedIn)) {
myData += myData.Where(x => x.Name == namePassedIn);
}
//continue with this type of if statements for all possible fields a user can send.
//Now, we can send the execute command to the server. I am assuming it returns a
//collection at this time.
return myData.ToList();
Пусть я знаю, если я неправильно понял ваш вопрос