중간에 복잡한 검색을 위해 동적 linq를 사용하여 where 절을 작성했으며 날짜 문제가 발생했습니다.전후의 날짜/시간 비교
사용자가 해당 날짜, 해당 날짜 또는 그 날짜 이후에 검색 한 날짜를 필터링 할 수 있기를 원합니다.
나는 과 같은 동적 쿼리를 생성하는 데 사용한 this answer을 발견했습니다. 정확히 일치하는 날짜를 검색하는 데는 문제가 없지만 이전 또는 이후의 항목을 검색하려고 시도 할 때는 유지되지 않습니다. 내가 얻은 가장 먼 것은 "(created.Year >= @0.Year && created.Month >= @0.Month && created.Day > @0.Day)
입니다. 현재 달 밖에서는 아무 것도 작동하지 않습니다. (오늘 이후에 검색 한 경우, 그 달 후에도 27 일이 지나도 결과가 표시됩니다. 내가 검색 한 날짜)
DateTime.Compare
을 사용해 보았지만 작동하지 않았으며 DateTime.Date를 비교하려고 시도하지도 않았습니다.
T-SQL을 직접 사용하면 부족할 수 있습니다.
편집 : 나는 비교 "에"및 직전과 Corak가 제안 후 엄격한 >
또는 <
을 수행하는 기존 코드를 사용하여 결국 "(created.Date == @0.Date)"
단순히'created.Date> @ yourDate.Date' 또는'created.Date <@ yourDate.Date'가 아닌 이유는 무엇입니까? ('created'과'@ yourDate'는'DateTime' 타입입니다.) – Corak
Linq to Entities가 지원하지 않기 때문에 ... – Mansfield
'.Day','.Month'를 지원한다면 * 매우 * 놀랄 것입니다. '.Year'는'.Date'가 아니라'.Year'입니다. – Corak