Использование Lambda или Linq Получить данные на основе дочерней таблицы - PullRequest
0 голосов
/ 07 марта 2020

У меня есть две таблицы, и между ними есть цена и соотношение между ними. Я хочу получить первые 5 позиций из таблицы продуктов только в том случае, если в таблице цен нет связанных записей или даты обновления цен старше месяца.

Я пробовал это;

        DateTime checkdate = DateTime.Today.AddMonths(-1);

        var test = (from p in main.product
                    from r in main.price
                    where !p.price.Any() && r.UpdateTime >= checkdate

                    select p.main.productid).Take(5);


                    //webservice will check new prices here

Итак, каждый возвращаются одни и те же записи ...

1 Ответ

0 голосов
/ 07 марта 2020

Поскольку ваше условие содержит ИЛИ * только в том случае, если в таблице цен нет связанной записи или дата обновления цены старше месяца.", вам необходимо изменить оператор AND (&&) ИЛИ (||), где условие.

var test = (from p in main.product
                    from r in main.price
                    where !p.price.Any() || r.UpdateTime >= checkdate

                    select p.main.productid).Take(5);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...