我正在使用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 });
}
现在,我需要添加以下字段/过滤器,但前提是它们由用户提供。
- 产品编号-来自另一个可以连接到TagHeader的表。
- 采购订单编号-TagsHeaders表中的一个字段。
- 订单号-与PO#类似,只是不同的列。
- 产品状态-如果用户是从下拉菜单中选择的,则需要在此处应用所选的值。
我已经拥有的查询效果很好,但是要完成该功能,需要能够在where子句中添加这4个其他项,只是不知道如何!