여러 개의 매개 변수를 사용하여 사용자가 아무것도 지정하지 않아도되는 긴 LinqtoSQl 쿼리가 있습니다. 오히려 매개 변수 문자열의 길이가> 0인지 또는 int> 0인지를 테스트하는 Select Case 문을 사용하기 시작했습니다.하지만 각 가능성을 테스트하고 각 쿼리를 기반으로 쿼리를 작성해야한다는 것을 깨달았습니다.LINQTOSql 매개 변수 질문이 누락되었습니다.
일부 검색을 수행하여 게시물에 응답하는 사람이 쿼리 사용 부분을 부정한다고 말한 게시물을 검색했습니다. || 좀 더 검색을 한 후에 (그리고 조건이 거의없는 C# 기술을 사용하여 실현 함), 도움이 안된다는 것을 깨달았습니다. 나는 내가하고 싶은 것을 생각
내가이를 통해 내 길을 IfElse'ing보다 더 좋은 방법이 있어야한다 KNW
Dim r = From x in db.List _
(if firstName.Length < 1 then ignore query
else)where x.firstName = firstName _
(if lastName.Length < 1 then ignore query
else)where x.LastName = lastName _
Select x
같은 ... 나는 몇 가지 펑키 물건을 할 것을 대략이다 StringBuilder 내,하지만 난 즉, 그것은 "화재"것 확실하지 않다 :
Dim sb as New StringBuilder
sb.Append("Dim r = From x in db.List _")
If firstName.Length < 1 then
sb.Append("Where x.firstName = firstName")
ughh ... 더 나은 방법이 말해 당신의 도움에 대한
감사하십시오!
나는 내가 목록 (된 IQueryable로 희미한 쿼리를 시도 ... 나는이 아이디어 만 좋아 ... 난 당신이 날 위해 번역해야 할 것 같아요) = db.List query.Where (x => x.firstName == firstName) 하지만 intellesense는 다른 것을 입력하려고하는 견과를 찾은 다음 x가 선언되지 않은 경고 및 오류를받습니다. 감사합니다! – wali
그냥 알아 냈어 ... query.Where (Function (x) x.firstName = firstName) 바보 같은 VB !!! 감사합니다. – wali