내 상황은 내 테이블 중 하나에서 날짜가 null이 될 수없는 linq-to-sql 모델을 가지고 있기 때문입니다. 데이터베이스가 해당 필드에 널 (null)을 허용하지 않기 때.입니다. 내 문제는,이 모델로 Linq 쿼리를 작성하려고하면 날짜가 'nullable'필드가 아니기 때문에 더 이상 테이블에 왼쪽 조인을 할 수 없기 때문에 "Nothing"과 비교할 수 없다는 것입니다.Linq, 왼쪽 가입 날짜 및 날짜
예 : 이 동영상 테이블, {ID, MovieTitle가}이며, 상영 테이블, {ID, MovieID, ShowingTime, 위치} 나는 모든 사람을 반환하는 명령문을 작성하는 것을 시도하고 이제
상영되지 않는 영화.
Select m.*
From Movies m Left Join Showings s On m.ID = s.MovieID
Where s.ShowingTime is Null
지금이 상황에서 내가 '위치'필드에 널 (null)을 테스트 할 수 있지만 내가 현실 (다만 간단한 예)이 무엇인지되지 않습니다 : T.SQL에서이 같을 것이다. 내가 가지고있는 것은 null이 아닌 날짜뿐입니다.
나는 Linq에에 쓰기를 시도하고있다 :
내가 말하는 오류를 얻고있다 그러나From m In dbContext.Movies _
Group Join s In Showings on m.ID Equals s.MovieID into MovieShowings = Group _
From ms In MovieShowings.DefaultIfEmpty _
Where ms.ShowingTime is Nothing _
Select ms
연산자는 유형 '날짜'의 피연산자를 허용하지 않는 '인가'. 피연산자는 참조 또는 Null 가능 유형이어야합니다.
이 문제가 발생합니까? 모델이 정확합니다. Showings : ShowTime 테이블에 null이 없어야합니다. 그러나 왼쪽 조인을하고 특정 영화에 대한 상영 시간이없는 경우 ShowTime은 그 영화에 대해 아무것도 표시해서는 안됩니다 ...
모두에게 감사드립니다.
== 대신 ==를 사용해 보셨나요? is 연산자가 참조 유형을 비교하지 않습니까? – Jason