Следующая ситуация:
- Таблица пользователей
- Таблица адресов
- Пользователь имеет одну необязательную ссылку на таблицу адресов(= объединение влево)
Запрос для извлечения данных:
IQueryable<User> query =
from u in _dbContext.Users
join a in _dbContext.Address on u.AddressId equals a.Id into address
from addresses in address.DefaultIfEmpty()
select new User(u, a);
Теперь я хочу выполнить сортировку по запросу на основе муниципалитета с адресом
query = query.OrderBy(u => u.Address.Municipality);
Проблема в том, что адрес может иметь нулевое значение (поскольку адрес является необязательным), и по этой причине он выдает следующее исключение.
NullReferenceException: Object reference not set to an instance of an object.
Есть ли способ заказатьна муниципалитете, зная, что это может быть нулевым?
Уже пробовал следующие вещи с тем же результатом:
query = query.OrderBy(u => u.Address.Municipality ?? "");
query = query.OrderBy(u => u.Address == null).ThenBy(u => u.Address.Municipality);