2013-11-09 65 views
0
Expression<Func<BAL.Receipt, bool>> expKeyword = x => x.InvoiceNo.StartsWith(txtSearch.Text) | x.Alias.StartsWith(txtSearch.Text); 
Expression<Func<BAL.Receipt, bool>> expFromDate = x => x.Date > dtpFrom.DateTime.Date; 
Expression<Func<BAL.Receipt, bool>> expToDate = x => x.Date <= dtpTo.DateTime; 

var ac = BAL.ApplicationInfo.db.Receipts.Where(expKeyword); 
if (dtpFrom.EditValue != null) 
    ac.Where(expFromDate); 
if (dtpTo.EditValue != null) 
    ac.Where(expToDate); 

的预期结果应与日期返回所有的Receipts大于dtpFrom日期 和小于dtpToDatetxtSearch.Text等于InvoiceNoAlias这个表达式为什么不给我预期的结果?

+0

你想要什么去做?你期待什么结果? – Ian

+0

预期的结果应该返回所有收据的日期大于dtpFrom日期和小于dtpToDate和txtSearch.Textequal发票否或别名 –

+0

实际结果是? –

回答

4

ac.Where(expFromDate);
但是,ac=ac.Where(expFromDate);

+0

@DoobyInc firslty你说ac = /一些表达式/。然后你说ac = ac./some其他表达式/因此*追加*一个新的。这是正确的,试试吧。 – LINQ2Vodka

+0

它有效的朋友 –

+0

我已经标记了你的答案作为答案,也做了upvote –

相关问题