0
중첩 된 선택을 사용하여 사전을 채우려고하는데 TableC의 개체가 없을 수 있으므로 nullreference 예외가 발생합니다.linq 및 엔티티 프레임 워크를 사용하는 중첩 된 사전 nullvreferenceexception
List<SomeResult> test = (from a in _entities.TableA
select new SomeResult
{
TestB = a.TableB.Name,
TestCDict = a.TableC.ToDictionary(x => x.SomeKey, x => x.SomeValue)
}).ToList();
어떻게 수정하여 TestCDict가 null 일 수 있습니까? 당신이 TestCDict
에서 NULL 대신 빈 사전을 원하는 경우
TestCDict = a.TableC == null ? null
: a.TableC.ToDictionary(x => x.SomeKey, x => x.SomeValue)
또는 이와
: : 이것에/라세
는 더 많은 것 같다 참조 문제. TableC의 값을 "포함"하려면 중첩 쿼리를 사용해야 할 수도 있습니다. 그것은 단지 문자열, int 및 유형 엔티티가 아닌 기본 사항을 비교할 수 있다고합니다. –