LINQ получает список из другого списка объектов - PullRequest
0 голосов
/ 28 апреля 2019

У меня есть следующая иерархия кода EF:

  1. У рынков может быть много UserIntervalAlerts
  2. У UserAlerts есть один ApplicationUser

Во-первых, я хочучтобы проверить, что существуют рынки .Any (), которые имеют UserIntervalAlerts для текущего пользователя.

Затем я хочу получить все рынки, которые имеют UserIntervalAlerts для текущего ApplicationUser

if (exchange.Markets.Count(x => x.UserIntervalAlerts?.Select(y => y.User) != GetCurrentUser()) > 0)
                {
                    marketList = marketList.Where(m => m.UserIntervalAlerts.Select(x => x.User) == GetCurrentUser()).ToList();
                }

1 Ответ

1 голос
/ 28 апреля 2019

Из того, что вы описываете, что-то подобное должно делать то, что вы хотите.

var marketsWithEventsForUser = markets
    .Where(market => market.UserIntervalAlerts
        .Any(alert => alert.User == GetCurrentUser());
if (marketsWithEventsForUser.Any()) 
{
    //iterate over list and do whatever...
}

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

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