我正在尝试使用嵌套选择填充字典,并且我得到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?
/拉塞
答案 0 :(得分:1)
将其更改为:
TestCDict = a.TableC == null ? null
: a.TableC.ToDictionary(x => x.SomeKey, x => x.SomeValue)
或者,如果你想在TestCDict
中使用空字典而不是null:
TestCDict = a.TableC == null ? new Dictionary<TypeOfKey, TypeOfValue>()
: a.TableC.ToDictionary(x => x.SomeKey, x => x.SomeValue)