Вложенный словарь nullreferenceexception, используя linq и платформу сущностей - PullRequest
0 голосов
/ 25 августа 2011

Я пытаюсь заполнить словарь, используя вложенный выбор, и получаю исключение nullreference, поскольку объекты из TableC могут не существовать.

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?

/ Лассе

1 Ответ

1 голос
/ 25 августа 2011

Измените это на:

TestCDict = a.TableC == null ? null
            : a.TableC.ToDictionary(x => x.SomeKey, x => x.SomeValue)

Или к этому, если вам нужен пустой словарь вместо нуля в TestCDict:

TestCDict = a.TableC == null ? new Dictionary<TypeOfKey, TypeOfValue>()
            : a.TableC.ToDictionary(x => x.SomeKey, x => x.SomeValue)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...