Я работаю с запросом LINQ to SQL и столкнулся с проблемой, когда у меня есть 4 необязательных поля для фильтрации результата данных. По выбору, я имею в виду, имеет ли выбор ввести значение или нет. В частности, несколько текстовых полей, которые могут иметь значение или иметь пустую строку и несколько выпадающих списков, которые могли иметь значение, выбранное или, возможно, не...
Например:
using (TagsModelDataContext db = new TagsModelDataContext())
{
var query = from tags in db.TagsHeaders
where tags.CST.Equals(this.SelectedCust.CustCode.ToUpper())
&& Utility.GetDate(DateTime.Parse(this.txtOrderDateFrom.Text)) <= tags.ORDDTE
&& Utility.GetDate(DateTime.Parse(this.txtOrderDateTo.Text)) >= tags.ORDDTE
select tags;
this.Results = query.ToADOTable(rec => new object[] { query });
}
Теперь мне нужно добавить следующие поля/фильтры, но только если они предоставлены пользователем.
- Номер продукта - поступает из другой таблицы, которая может быть присоединена к устройствам TagsHeaders.
- PO Number - поле внутри таблицы TagsHeaders.
- Номер заказа - аналогично PO #, только другой столбец.
- Состояние продукта. Если пользователь выбрал это из раскрывающегося списка, необходимо применить выбранное значение здесь.
Запрос, который у меня уже есть, отлично работает, но для завершения функции нужно иметь возможность добавлять эти 4 других элемента в предложение where, просто не знаю, как это сделать.