2016-08-24 4 views
3

데이터베이스에서는 숫자 필드에 NULL을 사용할 수 있습니다. 그 테이블을 EF를 통해 프로젝트에 가져 와서 where 절의 해당 열에 null 체크를하면 언제나 사실이며 null이 아닌 절대 값을 확인할 수 없다는 정보를 제공합니다. 그러나 이것은 직접 SQL에서 유효합니다. EF를 통해 데이터베이스의 숫자 열에서 null을 확인하려면 어떻게해야합니까? 이것은 EF와 데이터베이스 간의 오해입니다.숫자 필드에서 null에 대해 EF 필터에 대해 Linq 사용

예 곳 caluse :

&& l.latitude != null && l.longitude != null 

위도와 경도 문제는 비록 심지어이다 그들이 EF에 와서 그러나 그들은 데이터베이스에 널 (NULL) 일 수 있으며, 내가

답변

8

을들을 필터링 할 때 소수입니다 데이터베이스가 해당 열에 null을 지원하면 null이 아닌 유형 (decimal)에 매핑했습니다. 나는 이것이 당신이 원하는 것이 아닌 null 값이 귀하의 경우에 0으로 기본값이되게한다고 믿습니다.

null 값이 올바르게 지원되도록 decimal?을 사용하도록 엔티티를 수정하는 것이 올바른 해결책입니다.

+0

내가 직접 매핑하지 않았으므로 EF가 자동으로 수행했습니다. EF는 DB의 열에있는 nullable 플래그를 기반으로 수행 할 작업을 결정할 것을 지정하므로 DB를 검사합니다. – user441521

관련 문제