2009-06-03 6 views
0

다음 linq 쿼리를 실행할 때 내가 지원되지 않는 예외가 발생합니다. 어떤 아이디어를 그것을 다시하는 방법Linq 및 두 날짜 열을 비교하십시오.

 var declines = from d in _Db.DeclinedSettlementSet 
         where d.STATUS == Status.REPORTED    
         && d.ADD_DATE < d.EDIT_DATE.AddDays(-3) 

답변

1

(SP1) Microsoft는 표현 트리에서 클라이언트 측 기능 지원을 제거했습니다. 이것은 성능 향상을 위해 수행되었습니다. 간단한 세계에서 어떤 클라이언트 측 함수도 귀하의 경우처럼 .AddDays (n)에 포함될 수 없습니다. Jon의 답변에 대해서는 여전히 TimeSpan이 클라이언트 측 기능이기 때문에 작동하지 않을 것이라고 생각합니다.

+0

이것은 내가 생각한 것입니다. 그러나 지금 삭제 된 답변에서는 표현할 수 없었습니다. – jfar

+0

그래서 adddays 확장 메서드를 사용하지 않고 동일한 결과를 얻는 방법에 대한 제안이 있습니까? – aboutme

+0

솔직히이 시점에서 마음에 좋은 점이 없습니다 ..하지만 마음에 두는 옵션은 두 가지입니다. Ist는 초기 필터로 모든 레코드를 가져옵니다 context.DeclinedSettlementSet.Where (k => k.Status == Status.REPORTED && k.AddDate k); 그런 다음 비즈니스 로직을 수행하여 필터링합니다. 또는 sotre 절차를 사용하여 레코드를 검색하십시오. 나는 그들이 그런 간단한 작업을위한 아주 좋은 옵션이 아니라는 것을 인정한다 ... –

관련 문제