이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 21850|회답: 1

[출처] 값으로 캐스팅 타입 "System.Decimal" 실패...

[링크 복사]
게시됨 2019. 3. 11. 오전 10:02:24 | | | |
값 타입 "System.Decimal"로 캐스팅하는 것은 물질화된 값이 null이기 때문에 실패합니다. 결과 타입의 일반 매개변수 또는 쿼리는 null이 될 수 있는 타입이어야 합니다.
1. EF를 사용해 데이터베이스 합산에 접근할 때 이러한 예외가 자주 발생합니다

"System.InvalidOperationException" 타입의 처리되지 않은 예외가 EntityFramework.dll에서 발생합니다



예외 코드 1:



예외 코드 2:

2. 이유:

throw 이유: 조건에 따라 데이터베이스에서 필터링된 데이터가 비어 있고, 합이 예외를 던집니다.

해결책 1:필터 필드나 데이터 행이 기준에 따라 메모리에 기록된 후, 이들을 합산합니다


해결책 2:필터 데이터 행이 존재하지 않을 때 합 결과를 null로 지정해야 할 때 이 작업을 할 수 있습니다.



해결책 3 (권장):DefaultIfEmpty() 사용하세요








이전의:베이지안 사고: 통계 모델링을 위한 파이썬 학습 방법, PDF 중국어 버전
다음:이 예외는 SpringBoot에 RedisTemplate 인스턴스를 주입함으로써 해결됩니다
게시됨 2019. 3. 11. 오전 11:38:22 |
저는 세 번째 방법을 사용하고 있습니다
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com