Subsonic 3, Simplerepository, SQL Server : Null 필드로 행을 찾는 방법은 무엇입니까?
-
12-09-2019 - |
문제
ca 내가 subsonic을 어떻게 사용하는지 Find<T>
"null"값이 포함 된 필드로 행을 검색하는 방법. 토론을 위해 "Synchronizedon"이라는 무효화 가능한 DateTime 필드가 포함 된 AC# 클래스가 있다고 가정하고, 하위 소닉 마이그레이션이 해당 "방문"테이블과 "Synchronizedon"필드를 생성했다고 가정 해 봅시다. .
SQL 쿼리를 직접 작성하려면 다음과 같은 글을 쓸 것입니다.
SELECT * FROM Visits WHERE SynchronizedOn IS NULL
다음 코드를 사용할 때 :
var visits = myRepository.Find<Visit>(x => x.SynchronizedOn == null);
SubSonic은 다음과 같은 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>
방법.
누구나 누구나 내가 "Synchronizedon is null"조건을 Find<T>
방법?
해결책
당신이 사용할 수있는:
var visits = myRepository.All<Visit>().Where(x => x.SynchronizedOn == null).ToList();
제휴하지 않습니다 StackOverflow