2017-12-24 18 views
-1

Date, Datetime 필드를 Entity Framework에서 비교하려고합니다. 내 데이터베이스에는 StartTime이라는 열이 date 또는 smalldatetime으로 있습니다. 이 케이스를 사용합니다.Entity Framework에서 날짜를 비교하는 방법?

var list = db.tmpListAction.Where(e => e.StartTime.ToString() == "2017-12-15").ToList(); 

작동하지 않습니다. 테이블에 데이터가 있지만 null을 반환합니다.

+1

'e.StartTime.ToString ('YYYY-MM-DD') '의 – JohnyL

+0

가능한 복제 [에서만 날짜 구성 요소를 비교하는 방법 EF에서의 DateTime?] (https://stackoverflow.com/questions/1478215/how-to-compare-only-date-components-from-datetime-in-ef) –

답변

2

왜 다시 문자열로 변환 하시겠습니까 ?? .ToString()이 예상 한 데이터 표현을 반환한다고 보장 할 수 없기 때문에 코드가 손상 될 가능성이 큽니다.

그냥 날짜로 날짜를두고 다음과 같이 비교 :

DateTime desiredDate = new DateTime(2017, 12, 15); 
var list = db.tmpListAction.Where(e => e.StartTime == desiredDate).ToList(); 
+0

내 경우에서 보았 듯이 @marc_s님께, 나는 이것을 문자열로 비교하고 싶다. 그래서 나는'''''2017-12-15 "'''을 사용하려고한다. 나는 문자열을 사용하는 것을 혼란스럽게 생각한다. –

+2

@Brian Crist, 날짜를 문자열로 비교하는 것에 대해 왜 강박 적입니까? 적절한 방법이 아닙니다. – lucky