2013-11-09 4 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 날짜 미만 dtpToDateInvoiceNo-txtSearch.Text 같거나 Alias이 표현식이 나에게 예상 결과를 제공하지 않는 이유는 무엇입니까?

+0

이 무엇을 원이다 할 것? 어떤 결과를 기대합니까? – Ian

+0

예상 결과는 날짜가 dtpFrom 날짜보다 크고 dtpToDate보다 작고 txtSearch.Textequal이 InvoiceNo 또는 별칭 –

+0

인 모든 영수증을 반환해야합니다. 실제 결과는 무엇입니까? –

답변

4

하지 ac.Where(expFromDate);
그러나 ac=ac.Where(expFromDate);

+0

@ DoobyInc firslty 당신은 ac =/some expression /이라고 말합니다. 그런 다음 ac = ac./some other expression /을 말하고 * 새 것을 추가합니다. 이것은 정확하다, 그것을 시도하십시오. – LINQ2Vodka

+0

친구가 작동합니다 –

+0

답변으로 답변을 표시하고 또한 upvote –