Тест Null после FirstOrDefault - PullRequest
       6

Тест Null после FirstOrDefault

0 голосов
/ 16 февраля 2019

У меня есть следующее выражение Linq в EntityFrameworkCore:

var models = await products.Select(product => new ProductModel {
  Id = product.Id,
  ProductType = new ProductTypeModel {
    Id = product.ProductType.Id,
    Name = product.ProductType
             .ProductTypesI18N
             .FirstOrDefault(y => y.LanguageCode == languageCode)?.Name
  }
}.ToListAsync()

Я получаю следующую ошибку:

An expression tree lambda may not contain a null propagating operator.

Это короткий способ не выдавать ошибку, если FirstOrDefault возвращает null?

Примечание:
Я думаю, что это может быть лучше, чем использовать FirstOrDefault.
Например, в следующей строке кода: new ProductTypeModel {

1 Ответ

0 голосов
/ 18 февраля 2019

Выберите имя нужного типа продукта перед вашим FirstOrDefault:

Name = product.ProductType.ProductTypesI18N
         .Where(productType => productType.LanguageCode == languageCode)
         .Select(productType => productType.Name)
         .FirstOrDefault(),

Простой комм-бонжур!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...