나는, 내 DropDownListBox의 값에 따라, 나는 절은 나중에 코드 등의 데이터를 필터링하려면 WHERE을는 포맷 엔티티 프레임 워크 내에서 제
Dim query = (
From n In db.tblNews
Join nc In db.tblNewsCategories On n.CatID Equals nc.CategoryID
Order By n.DateEntered Descending
Select New With {
.NewsID = n.NewsID,
.Title = n.Title,
.NewsText = n.NewsText,
.isPublished = n.isPublished,
.CatID = n.CatID,
.CategoryName = nc.CategoryName,
.DateEntered = n.DateEntered,
.ReadCount = n.ReadCount,
.DatePublished = n.DatePublish
}
)
그럼 내 DB 컨텍스트에서 다음 쿼리를 적용 한 경우;
If sDate <> "" Then
query = query.Where(Function(n) n.DateEntered = sDate)
End If
지금, sDate는
2013-06-18
의 형식으로 제공하고, DB에 해당
DateTime
필드는 쿼리가 제로 결과를 반환, 따라서
2013-06-18 16:41:33.973
의 형식으로되어 있습니다.
나는 다음을 수행하려고 노력 해요 : 나에게 오류 준
If sDate <> "" Then
query = query.Where(Function(n) String.Format(n.DateEntered, {0:yyyy-MM-dd}) = sDate)
End If
: 엔티티에 LINQ는 방법을 인식하지 못하는 '선택 System.String ToString (선택 System.String를)'방법을이 메서드를 저장소 표현식으로 변환 할 수 없습니다.
나는 내 선택에서 날짜 형식을 지정하고 싶지 않기 때문에 결과가 데이터베이스와 정확히 같아야합니다.
내 쿼리의 where 절에서 날짜의 서식을 지정하려면 어떻게해야합니까? 내가 거기에 해결책이 없다면?
경우이 적은이 하나를 시도 2 비교가 필요하기 때문에 이상적입니다. –
맨손으로 날짜/시간을 비교하는 경우 LINQ를 사용하여 이런 식으로해야한다고 생각합니다. – Jacob
당신은 여전히 DateTime의 Date 부분을 잡고 날짜와 비교할 수 있어야합니다. .Net에서 Date는 기본적으로 Time 부분의 기본값을 갖는 DateTime입니다. –