Я сделал пару ошибок в своем оригинальном посте. Во-первых, это не Entity Framework, а похожий на него API. Это означало, что я не мог использовать навигационные свойства, как предложил Стив Пай.
Кроме того, и это критический момент, я упростил свой код. Где я разместил select new { doc, t }
, мой код, выдающий исключение, был select new { doc, t.Tenant_ID }
. Поскольку это левое соединение, значение t
иногда равно нулю, что приводит к исключению NullReference.
Я изменил свой выбор следующим образом:
select new {
Doc = doc,
Tenant_ID = t == null ? null : t.Tenant_ID
};
Примечание: I 'Я не уверен, почему мы не можем использовать нулевой оператор объединения в выборке, но мы не можем.