나는 EndDate라는 DateTime?
열이있는 테이블이있는 sql-server-ce 4 데이터베이스가 있습니다. 레코드를 삭제할 때이 종료 날짜를 설정하고 레코드 목록을 검색 할 때 끝 날짜에 필터를 적용하여 삭제 된 레코드를 모두 필터링하려고합니다.linq의 DateTime과 SQL Server CE를 비교하는 가장 쉬운 방법은 무엇입니까?
필자는 엔티티 프레임 워크를 사용하여 linq를 통해이 필터를 적용합니다. 나는 다음과 같은 오류 받기 LINQ 쿼리를 실행하면
protected IDbSet<TEntity> Entities;
...
Entities.AsNoTracking().AsQueryable()
.Where(entity => !entity.EndDate.HasValue || entity.EndDate.Value > DateTime.UtcNow);
이 :이 오류에 검색
The function 'CurrentUtcDateTime' is not supported by SQL Server Compact.
를 내가 이해 한 경우 나 그 (알
내 LINQ 쿼리는 다음과 같습니다 정확하게) 나는 DateTime.UtcNow를 사용할 수 없다.
내 질문은 도달하려는 목표를 달성하기위한 다른 방법은 무엇입니까?
linq을 통해 사용할 수있는 다른 기능이 있습니까? 아니면 datetime을 Epoch로 변환하고 비교하는보다 원시적 인 솔루션을 사용해야합니까?
'var now = DateTime.UtcNow;'그리고 나서'... entity.EndDate.Value>를 시도해 보셨습니까? – Igor
entity.EndDate.Value.ComparetTo (otherDate) 조회 CompareTo – kblau
과속자 님, 고맙습니다. 나는 그것을 시도했다고 생각했지만, 나는 그렇지 않은 것으로 생각한다. 나는 아직도 var이 받아 들여지고 속성이 왜 아닌지 궁금해합니다. 어떤 아이디어? – Cornelis