2016-10-19 3 views
0

안녕하세요 MVC4 응용 프로그램을 개발하고 있습니다. 나는 오직 하나의 텍스트 박스가 필수 필드 인 5 개의 텍스트 박스와 검색 버튼을 포함하는 하나의 검색 페이지를 개발 중이다. 나머지는 필수는 아닙니다. 5 개의 텍스트 상자 값 모두를 갖고 싶습니다. 내 쿼리는 다음과 같습니다.MVC4에서 LINQ를 효율적으로 검색하는 방법은 무엇입니까?

var logDetails = (from c in db.ts_upldlog_content 
join tbl in db.ts_upld_doc on c.upld_docid equals tbl.upld_docid 
join doc in db.tm_doc_type on tbl.upld_doctypeid equals doc.doc_typeid 
where 
(tbl.upld_clientid == clientId && tbl.upld_employeeid == employeeID && tbl.upld_empcitizenid == citizenId && tbl.upld_doctypeid == typeofDocument && EntityFunctions.TruncateTime(c.updatedOn) >= start && EntityFunctions.TruncateTime(c.updatedOn) < end) 
    select new logdetails 
    { 
    //Getting all properties 
    }).toList(); 

내 문제는 위 쿼리에서 시작과 끝은 필수 항목이므로 UI에서 값을 얻을 수 있습니다. 하나의 시나리오를 설명하겠습니다. 사용자가 시작 및 끝을 제공하고 나머지는 null입니다. & & 작업을 수행하고 내 다른 필드에 DB 값이있을 수 있으므로 내 쿼리 결과가 생성되지 않습니다. 아래 표를 고려합니다.

clientID EmployeeID EmpCitiID docType  Date 
123   456   456  1   10/19/2016 

난 단지 통과

내가 & & 작업을하고있는 중이 야하기 때문에 내 쿼리가 작동하지 않습니다 날짜입니다. 그래서이 시나리오를 달성 할 방법이 있습니까? 어떤 도움을 주시면 감사하겠습니다. 고맙습니다.

+1

봐 누락. –

+0

내가 올바르게 이해한다면, (clientId, employeeID, citizenId 등의) 몇몇 인수는 선택 사항입니다. 변수/메소드 인수 선언을 보여주십시오. –

+0

@GertArnold 그리고 이것도 더 좋습니다 :) –

답변

1
tbl.upld_clientid == clientId && tbl.upld_employeeid == employeeID && tbl.upld_empcitizenid == citizenId && tbl.upld_doctypeid == typeofDocument && 

(EntityFunctions.TruncateTime(c.updatedOn) >= start && EntityFunctions.TruncateTime(c.updatedOn) < end) ) 

괄호에게 중복에 가장 upvoted 대답에

+0

아니요 아니요 신디사이저에 대해 말하는 게 아닙니다. –

+0

@NiranjanGodbole하지만 코드가 실패합니다. –

+0

답변 해 주셔서 감사합니다. –

관련 문제