Subsonic의 Find<T>
메서드를 사용하여 "null"값이 포함 된 필드가있는 행을 검색하는 방법은 무엇입니까? 토론을 위해 "SynchronizedOn"이라는 nullable DateTime 필드가 포함 된 "방문"이라는 aC# 클래스가 있다고 가정하고 Subsonic 마이그레이션에서 해당 "방문수"테이블과 "SynchronizedOn"필드를 생성했다고 가정합시다 . 나는 SQL 쿼리 나 자신을 작성했다면Subsonic 3, SimpleRepository, SQL Server : null 필드가있는 행을 찾는 방법은 무엇입니까?
, 내가 좋아하는 뭔가를 작성합니다
SELECT * FROM Visits WHERE SynchronizedOn IS NULL
나는 다음과 같은 코드를 사용하는 경우 :
var visits = myRepository.Find<Visit>(x => x.SynchronizedOn == null);
음속은 다음과 같은 SQL 쿼리로를 설정하거나 해제 할 수 :
SELECT * FROM Visits WHERE SynchronizedOn == null
절대 행을 반환하지 않습니다.
나는 다음 코드를 시도했지만 오류가 발생합니다 :visits = repository.Find<Visit>(x => x.SynchronizedOn.HasValue);
나는 다음과 같은 구문을 사용 할 수 있었다 :
var query = from v in repository.All<Visit>()
where v.SynchronizedOn == null
orderby v.CreatedOn
select v;
visits = query.ToList<Visit>();
을하지만이 Find<T>
방법을 사용하는 것만 큼 좋은 short 타입이 아니다 .
누구나 Find<T>
메서드에서 "SynchronizedOn IS NULL"조건을 어떻게 지정할 수 있는지 알고 있습니까?
귀하의 제안은 내 LINQ 쿼리에 대한 개선 만이 방법을 찾기를 사용하지 않습니다. Find 메서드가 null을 확인할 수 없다는 것을 이해해야합니까? –
desautelsj