2010-04-22 5 views
1

이 쿼리가 0 줄을 반환하는 이유는 무엇입니까?LINQ 쿼리가 아무 것도 반환하지 않음

인수와 일치하는 레코드가 있습니다.

SomeDataContext db = new SomeDataContext(ConnString); 

return db.Deafkaw.Where(p => 
     (p.SomeDate1 >= aDate && 
     p.SomeDate1 <= DateTime.Now) && 
     (p.Year == aYear && p.IsSomething == false) 
).ToList(); 

내가 뭔가 부족합니까?

거짓 표 Deafkaw

SomeDate1 = 20/4/2010 11시 32분 17초 년 = 2010 IsSomething =에

는 ... 다른 열 조건에 관심이 메신저 외에.

나는 추가 정보없이 귀하의 질문에 대답하기 어려운

Deafkaw.Where(p => (p.ImerominiaKataxorisis >= aDate && p.ImerominiaKataxorisis <= DateTime.Now && 
      p.Year == etos && p.IsYpodeigma == false)).ToList(); 
+0

'Deafkaw' 란 무엇이고,'etos'의 값은 무엇이고,'aDate'의 값은 무엇이고, 객체, 행 등의 정확한 데이터는 무엇입니까? – Jay

+1

내 생각에 실제로 어디서나 표현식과 일치하는 레코드가 없다는 것입니다. –

+2

당신이 생각하는 데이터를 볼 수 있습니까? 그렇지 않으면 우리는 이것을 "선택이 깨졌습니다"라고 분개해야합니다 ... – BlackICE

답변

0

사이 SomeDate1이 필요합니다. 당신은 무엇을 어떻게해야합니까, 당신은 Where 절을 제거하고 Deafkaw.ToList()을 작성하는 경우

  • : 다음 사항을 확인하면 문제를 발견하는 데 도움이 될 수 있습니다?
  • aDateetos의 값은 무엇입니까?
  • 상태를 다시 확인할 수 있습니까? 모든 하위 조건을 동시에 유지해야합니까? 전체 DeaFkaw 데이터 구조를 인쇄하면 이러한 데이터가 있습니까?
  • 몇 가지 하위 조건을 제거하여 결과를 얻을 수 있습니까?
+3

왜 그 문제가 될까요? 그 괄호를 제거하는 것은 논리에 영향을 미치지 않을 것입니다, 그들은 모두 && – BlackICE

+0

Yeap 나는 그것의 동일이라고 생각하지만, 어쨌든 나는 노력했습니다. –

+0

그래, 나쁘다. 어떤 이유에서 나는 연산자의 우선 순위를 잘못 읽고 뇌 (p => (a && b)) && (c && d)에 이것을 가지고 있습니다. 하지만 && 비트 => :) –

2

보십시오 내가 IsSomething = False를 제공 ​​날짜와 연도 = 2010

+0

내가 Deafkaw.ToList()를 사용하면 테이블에서 데이터를 올바르게 얻습니다. 나는이 모든 조건이 동시에 보유 할 필요가 있습니다. 알은 참이라는 의미입니다. 하위 조건, 아직도 내가 무엇을 필요로 반환하지 않습니다. 이상한 게 아니야. –

+0

그래서, 예를 들어'Deafkaw.Where (p => p.ImerominiaKataxorisis <= DateTime.Now) .ToList()'라고 쓰면, 여전히 0 개의 결과가 나타 납니까? 모든 하위 조건 (예 : IsYpodeigma == false?)에 해당합니까? Deafkaw.Where (p => true) .ToList()를 쓸 때 어떤 일이 발생합니까? 그 결과가 나옵니까? –

+0

이유는 모르겠지만 변수를 도입하고이 변수를 반환해야했습니다 !!! return 문에서 직접 작동하는 다른 유사한 메서드. –

3

결과가 무시되도록 결과를 지정하지 않습니다. 이것을 시도하십시오 :

var results = db.Deafkaw.Where(p => 
     (p.ImerominiaKataxorisis >= aDate && 
      p.ImerominiaKataxorisis <= DateTime.Now) && 
     (p.Year == etos && p.IsYpodeigma == false) 
    ).ToList(); 

업데이트 : 질문을 변경 했으므로 올바른 대답인지 확신 할 수 없습니다. 이 메소드를 호출하는 곳에 코드를 게시 할 수 있습니까?

+0

오, 저는 방금 자신의 메시지에 과제를 포함하지 않았다고 생각했습니다. –

+0

기본적으로 .ToList()는 메서드에서 반환됩니다. –

+0

var 결과 추가 및 결과 반환 !!! –

0

SQL 프로파일 러를 사용하십시오. 생성 된 SQL 쿼리를 살펴보십시오. SQL 쿼리를 수동으로 실행하고 레코드가 반환되는지 확인하십시오.

+0

데이터 컨텍스트의'Log' 속성을 설정할 수도 있습니다 :'db.Log = Console.Out;'는 질의를 출력하고 콘솔에 매개 변수를 바인드합니다. –

관련 문제