Entity Framework выдает ошибку при выполнении лямбда-выражения

да, вы можете использовать new FormControl()

this.rForm = fb.group({
   'membership' : new FormControl('def value'),
   'pointed' : ['def value', Validators.required ],,
});

, и вы получите более подробные параметры в документах

ниже, это ссылка doc здесь

0
задан marc_s 19 January 2019 в 21:40
поделиться

1 ответ

Это довольно просто, ваша ошибка объясняет это. userParams.MaxPrice является нулевым. Так что вам нужно добавить проверку на ноль к нему. Простым способом было бы изменить ваш запрос на:

if (userParams.MinPrice > 0 && userParams.MaxPrice != null && userParams.MaxPrice != 999999999) 
{
    products = products.Where(p => (p.Price >= userParams.MinPrice) && 
                                   (p.Price <= userParams.MaxPrice));
}

Хотя, в зависимости от вашей логики, вам может потребоваться немного изменить положение вещей. Ключевой момент заключается в том, чтобы не предполагать, что свойство имеет значение, если оно имеет значение NULL, то сначала нужно проверить, что оно не равно NULL, а затем проверить его.

Также следует добавить, что в теории вы могли бы сделать userParams.MaxPrice.GetValueOrDefault() != 999999999, предполагая, что это null-значение int или что-то в этом роде.

0
ответ дан gilliduck 19 January 2019 в 21:40
поделиться
Другие вопросы по тегам:

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