Исключение нулевой ссылки в динамическом выражении LINQ

Это - большая метрика для, пугать/производить людей впечатление. Это об этом, и определенно контекст, который я вижу во всех трех из тех примеров.

6
задан JoshBerke 18 September 2009 в 16:45
поделиться

3 ответа

Если я вас правильно понимаю, я думаю, вы хотите этого:

repository.GetParentObjects()
    .OrderBy(p => p.Child == null ? "" : p.Child.Name);

LINQ сможет генерировать SQL, который имитирует это выражение.

5
ответ дан 17 December 2019 в 02:31
поделиться

Я нашел решение, которое в моем случае не идеально опять же было бы определить, когда выражение будет обращаться к дочернему элементу, изменить выражение сортировки на

iif(Child == null,null,Child.Name) ASC

В идеале эту логику можно запечь в динамической библиотеке, я бы предпочел не изменять каждую сетку повсюду для обработки всех случаев это повлияет.

2
ответ дан 17 December 2019 в 02:31
поделиться

Я не совсем понимаю, в чем проблема (может быть, потому что здесь уже вечер пятницы ...), но нельзя ли отсортировать список следующим образом:

   myGrid.DataSource=repository.GetWidgetList()
     .OrderBy(w => w.SortField).ToList();

где SortField - это свойство, которое вы хотите отсортировать. Это должно работать, даже если значение равно нулю ...

Извините, если это совершенно не относится к делу ...

-2
ответ дан 17 December 2019 в 02:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: